我在 SQL Server 中有一个包含 SHA1 代码的二进制值,例如:
0xC06DCADF544BC3D6ECE7C64F485D2846E7A93F55
我想从中删除 0x
。
当我计算字符串的 SHA1 时,输出以 0x
开头,我将其放入二进制变量中。我想在从中删除 0x
后将其存储在列中。
最佳答案
如果您存储二进制值的列的数据类型是 BINARY
或 VARBINARY
,则不能删除前导 0x
因为那样该值将是一个刺痛并且不再是二进制的。 0x
不是值的一部分,它表明该值是二进制而不是字符串。
如果要插入的字段的数据类型是字符串类型(CHAR
/VARCHAR
/NCHAR
/NVARCHAR
) 然后您可以使用 CONVERT
函数将二进制值转换为字符串,同时指定 2
的“样式”:
SELECT CONVERT(VARCHAR(50), 0xC06DCADF544BC3D6ECE7C64F485D2846E7A93F55, 2)
-- C06DCADF544BC3D6ECE7C64F485D2846E7A93F55
关于tsql - 我想得到一个二进制值的十六进制值,从中删除 0x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021992/