HEXTOINT(SUBSTRING((INTTOHEX(signal_data)),5,2)) as Signal
我在Excel中也有它(其中A1包含值):
=HEX2DEC(LEFT(DEC2HEX(A1),LEN(DEC2HEX(A1))-2))
有谁知道我将如何在SQL Server中执行此操作?
慕后森
浏览 808回答 3
3回答
牧羊人nacy
将INT转换为十六进制:SELECT CONVERT(VARBINARY(8), 16777215)将十六进制转换为INT:SELECT CONVERT(INT, 0xFFFFFF)更新2015-03-16上面的示例有一个局限性,即仅在将HEX值指定为整数文字时才起作用。为了完整起见,如果要转换的值是十六进制字符串(例如在varchar列中找到),请使用:-- If the '0x' marker is present:SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))-- If the '0x' marker is NOT present:SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))注意:字符串必须包含偶数个十六进制数字。奇数个数字将产生错误。可以在CAST和CONVERT(Transact-SQL)的“二进制样式”部分中找到更多详细信息。我认为需要SQL Server 2008或更高版本。