我有一些表示二进制数据的字符串格式的数据(例如‘0x0002’)。是否有一些函数或技巧可以将它们从原义字符串转换为二进制?也就是说,我希望‘0x0002’变为0x0002,而SELECT CAST(‘0x0002’ASBINARY(20))显然不会这样做。我确实提出了一个痛苦的缓慢过程,该过程涉及建立SQL语句并将其分配给变量并执行该变量(例如“EXEC(@Query)”),但是我正在寻找不需要做的事情那。
如果有帮助,您可以在下面的示例表中进行测试:
CREATE TABLE #T (BinaryString VARCHAR(100)) INSERT INTO #T VALUES('0x0000000000000000000000000000000000000002') -- Binary = the integer 2 INSERT INTO #T VALUES('0x000000000000000000000000000000000000007B') -- Binary = the integer 123
旧代码,SQL 7,sp_hexadecimal
SQL 2005(可能是2000),master.dbo.fn_varbintohexstr
SQL 2008本机