转换十六进制字符串为二进制的SQL Server
问题描述:
在SQL Server 我想转换此值: 20E60E0175D4F44CD6F7947883DDD4D0转换十六进制字符串为二进制的SQL Server
(列类型是NVARCHAR(MAX))
这个值: 0x20E60E0175D4F44CD6F7947883DDD4D0
(列类型是二进制(16))
答
你可以尝试这样的:
DECLARE @test TABLE (
nvar nvarchar(max),
bin16 binary(16)
)
INSERT INTO @test (nvar) VALUES
(N'20E60E0175D4F44CD6F7947883DDD4D0')
UPDATE @test
SET bin16 = CONVERT(binary(16),'0x'+nvar,1)
SELECT *
FROM @test
输出:
nvar bin16
20E60E0175D4F44CD6F7947883DDD4D0 0x20E60E0175D4F44CD6F7947883DDD4D0
注意:有更多的信息关于CONVERT
和style = 1
在数据类型here上的MSDN上下文中。
太感谢你了它的工作就好了 –
此外,它可以完成这样的:DECLARE @bin BINARY(16) DECLARE valString NVARCHAR(MAX) SET valString = N'20E60E0175D4F44CD6F7947883DDD4D0' SET斌= CONVERT(二进制(16),'0x'+ valString,1) SELECT bin –
我的荣幸!如果我的答案是有用的,随时upvote /接受它! – gofr1