Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将十六进制转换为大整数_Sql_Sql Server_Tsql_Integer_Hex - Fatal编程技术网

Sql 将十六进制转换为大整数

Sql 将十六进制转换为大整数,sql,sql-server,tsql,integer,hex,Sql,Sql Server,Tsql,Integer,Hex,正在尝试使用TSQL将十六进制转换为大整数: 根据在线计算器(十六进制到十进制) 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D507A5B8D 必须给出一个结果: 636809977318088143281752740767667075635469634642185645074508924606763521488675430192536461 在SQL中,我正在尝试: SELECT CONVERT(BIGIN

正在尝试使用TSQL将十六进制转换为大整数:

根据在线计算器(十六进制到十进制)

800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D507A5B8D

必须给出一个结果:

636809977318088143281752740767667075635469634642185645074508924606763521488675430192536461

在SQL中,我正在尝试:

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缺少可以表示无界整数的数字类型。你应该把ValDe2/<代码>作为字节序列读入程序,并使用“宿主语言”(C、C++、C、java等)的工具将字节序列转换成大数。

这是Suoooo的BigTime.OK限制范围,我知道BigIt的限制。我的意思是大数值