Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cập nhật cột varbinary (MAX)

Số 0 phụ đang được thêm vào vì toàn bộ giá trị bạn đang đặt là số lẻ. SQL Server sẽ thêm một số 0 để làm cho nó đồng đều.

declare @varmax varbinary(max) 
set @varmax = 0x1234567         --odd
select @varmax                  --returns 0x01234567 with the padded 0

set @varmax = 0x12345678        --even
select @varmax                  --returns 0x12345678

Số 9 của bạn đang bị bỏ bởi vì bạn đang nhập một số byte lẻ lấp đầy giá trị tối đa. Vì vậy, một số 0 được chèn nhưng điều này làm tràn số byte tối đa và do đó dường như cũng bị cắt bớt. Tôi đã có thể tái tạo lỗi của bạn ... nhưng chưa biết cách khắc phục lỗi.

Đây là giá trị tôi đã sử dụng cho bài kiểm tra của bạn. Bỏ qua kết quả ... nhưng bạn có thể sao chép chúng vào SSMS của riêng mình và xem kết quả chính xác.

http://rextester.com/LMGQ8686




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kích hoạt SQL Server - Phần 2 Trình kích hoạt DDL &LOGON

  2. Sự phụ thuộc của công việc SQL Server Agent

  3. Lỗi SQL Server 1934 xảy ra trên CHÈN vào bảng với cột được tính toán PHP / PDO

  4. Tìm phụ thuộc trong SQL Server:sql_expression_dependencies

  5. SQL Server Đã xảy ra hoạt động dấu phẩy động không hợp lệ