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.