小编典典

在sql server 2008中将十进制转换为十六进制

sql

的十六进制值2716455883是,A1E9D3CB但使用

SELECT CONVERT(VARBINARY(8), 2716455883)

得到答案 0x0A000001CBD3E9A1


阅读 322

收藏
2021-04-28

共1个答案

小编典典

SELECT CONVERT(VARBINARY(8), cast(2716455883 as bigint))

这是由于SQL Server解释没有限定类型的文字的方式。看一下这个

select sql_variant_property(2716455883, 'basetype'); -- numeric
select sql_variant_property(2716455883, 'precision'); -- 10
select sql_variant_property(2716455883, 'scale'); -- 0
2021-04-28