18

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

有没有办法只为特定值输入 0?

4

2 回答 2

41

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

INSERT INTO MyTable(MyBinary) VALUES (0x)

例如:

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
于 2013-10-18T20:21:56.223 回答
0

尝试以下操作:

DECLARE @binaryField VARBINARY(MAX);
SET @binaryField = 0x00000000;
SELECT CONVERT(INT, @binaryField)
于 2019-09-13T06:39:03.743 回答