我正在尝试向varbinary max中插入0值以测试一些结果。 我尝试将''强制转换为二进制,尝试将0输入其中,但它会将其转换为0x00。
有没有一种方法可以只输入0来表示特定的值?
我正在尝试向varbinary max中插入0值以测试一些结果。 我尝试将''强制转换为二进制,尝试将0输入其中,但它会将其转换为0x00。
有没有一种方法可以只输入0来表示特定的值?
如果你想表示一个空的字节序列,将它的值设置为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
0x
是表示空字节序列的方式。 - Matthew请尝试以下方法:
DECLARE @binaryField VARBINARY(MAX);
SET @binaryField = 0x00000000;
SELECT CONVERT(INT, @binaryField)
SELECT * FROM MyTable WHERE MyBinaryField = 0
,你的行将会出现。0x00只是它的显示方式。 - Matt Grande