将十六进制字符串转换为二进制SQL Server

时间:2016-09-24 08:25:35

标签: sql-server

在Sql Server中 我想转换此值: 的 20E60E0175D4F44CD6F7947883DDD4D0

  

(列类型为NVARCHAR(MAX))

达到此价值: 的 0x20E60E0175D4F44CD6F7947883DDD4D0

  

(列类型为二进制(16))

1 个答案:

答案 0 :(得分:2)

您可以尝试这样:

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

注意:在MSDN上的CONVERT数据类型here的上下文中,有关于style = 1binary的更多信息。