Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbarui kolom varbinary(MAX)

0 ekstra ditambahkan karena seluruh nilai yang Anda setel ganjil. SQL Server akan menambahkannya dengan 0 ekstra untuk membuatnya rata.

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

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

9 Anda dijatuhkan karena Anda memasukkan jumlah byte ganjil yang mengisi nilai maksimal. Jadi, 0 dimasukkan tetapi ini melebihi jumlah byte maksimum dan dengan demikian juga tampaknya terpotong. Saya bisa meniru kesalahan Anda... tapi belum tahu cara mengatasinya.

Inilah nilai yang saya gunakan untuk pengujian Anda. Abaikan hasilnya... tetapi Anda dapat menyalinnya ke SSMS Anda sendiri dan melihat output yang benar.

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. Menggunakan kondisi if dalam menyisipkan SQL Server

  2. Bagaimana cara memilih indeks berkerumun di SQL Server?

  3. Buat aturan untuk membatasi karakter khusus dalam tabel di server sql

  4. SQL Server - indeks pada kolom yang dihitung?

  5. NHibernate + default getdate() kolom