【发布时间】:2017-10-05 10:43:12
【问题描述】:
我有一个名为 abc 的列,它是 Varbinary。 我想在固定长度的 varbinary 值的末尾插入 0。
例如
这是原始值:0x0A5445535420
我想要这样的东西:
0x0A5445535420200000000000000000000000000000000000000000
我试过了
CONVERT(VARBINARY(64), 'abc')
但它没有在末尾附加 0。
【问题讨论】:
-
你在用什么rdbms?
-
Sql server 2012
-
显然,您只需将其转换为
BINARY而不是VARBINARY,因为 varbinary 会自动切断零。如果您想要固定长度的值,请问为什么要使用 varbinary ? -
谢谢 Rafalon,我不知道 BINARY 和 VARBINARY 之间的区别。如果我使用 (CONVERT(BINARY(64), 'abc') 它不会切断零。再次感谢您。
-
好吧,
VAR代表“变量”(可变长度),就像在VARCHAR中一样。这意味着只有有效数字/字符/任何内容都保存在内存中。这些类型用于优化内存。因此,您声明的长度 (64) 是 最大 长度