我有一个表示十六进制值的字符串列,例如 -
'274', '1A7', '3D1' and so on
。
现在我需要将这些值转换为它们的整数值,例如,'10' 将转换为 16。
我使用的代码:
SELECT CONVERT(int, CONVERT(varbinary, '0x' + case when replicate('0', len(myHex) / 2) + myHex = '0' then '00' else replicate('0', len(myHex) / 2) + myHex end, 1))
我实际上用零或两个填充字符串以使其长度均匀,并添加'0x'
前缀。然而,一些(随机)行失败。还有另一种方法来转换值吗?
谢谢。