sql - sql server 2008中十进制到十六进制的转换

标签 sql sql-server-2008

2716455883 的十六进制值为 A1E9D3CB 但使用

SELECT CONVERT(VARBINARY(8), 2716455883) 

得到答案 0x0A000001CBD3E9A1

最佳答案

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

关于sql - sql server 2008中十进制到十六进制的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13643729/

相关文章:

mysql - 从具有多个集合的mysql中的子查询中的更新表访问列

sql - 如何将列表存储在数据库表的列中

PHP MYSQL - 不使用列名但使用自动增量字段插入

java - 获取字符串路径的公共(public)根和该路径的文件夹列表

c# - 从 EF 模型生成 DDL 和 POCO 类的工具

SQL Server : How to group by a datetime column based on a time interval (Such as within 2 hours)

hibernate - 使用MS Sql Server 2008进行Grails/hibernate -有任何问题吗?

sql - H2 更新时违反参照完整性约束

c# - Asp.Net异步页面停止其他请求

sql - 如何在 LIKE 语句中连接 % 和列名