Sql 将十六进制转换为大整数
正在尝试使用TSQL将十六进制转换为大整数: 根据在线计算器(十六进制到十进制) 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D507A5B8D 必须给出一个结果: 636809977318088143281752740767667075635469634642185645074508924606763521488675430192536461 在SQL中,我正在尝试:Sql 将十六进制转换为大整数,sql,sql-server,tsql,integer,hex,Sql,Sql Server,Tsql,Integer,Hex,正在尝试使用TSQL将十六进制转换为大整数: 根据在线计算器(十六进制到十进制) 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D507A5B8D 必须给出一个结果: 636809977318088143281752740767667075635469634642185645074508924606763521488675430192536461 在SQL中,我正在尝试: SELECT CONVERT(BIGIN
SELECT CONVERT(BIGINT, CONVERT(VARBINARY, '800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D507A5B8D', 2))
这给了我
-4735785797357674083
有人知道我在TSQL中是如何做到这一点的吗?根据Microsoft的说法,
bigint
类型没有提供足够的精度来支持这样大小的值:
Data type Range Storage
--------- --------------- -------
bigint -2^63 to 2^63-1 8 Bytes
这意味着您可以成功地从VARBINARY
转换为BIGINT
的最大数字是9223372036854775807
TSQL缺少可以表示无界整数的数字类型。你应该把