如何在varbinary(max)字段中插入0

Nov*_*eMe 15 sql-server-2008

我试图在varbinary max中插入0值来测试一些结果.我尝试将''转换为二进制,尝试输入0但它将其转换为0x00.

有没有办法输入0才能获得特定价值?

Mat*_*hew 32

如果您要表示空字节序列,请将其值设置为 0x

INSERT INTO MyTable(MyBinary) VALUES (0x)
Run Code Online (Sandbox Code Playgroud)

例如:

DECLARE @myTable TABLE (
    binaryField VARBINARY(MAX) NOT NULL
)

INSERT INTO @myTable(binaryField) VALUES(0x) -- 0 bytes
INSERT INTO @myTable(binaryField) VALUES(0x11223344) -- 4 bytes

SELECT *, len(binaryField) FROM @myTable
Run Code Online (Sandbox Code Playgroud)

  • 我认为问题在于您如何尝试表示列中的数据,而不是数据本身的存储.`0x`表示空字节序列. (4认同)