sql-server - 为什么我不能比较这些十六进制值?

标签 sql-server database tsql hex

我有两组十六进制值:

---------- ------------------
0x0062EB3F 0x000000020062EB3F
0x0062EF17 0x000000020062EF17
0x0062EF30 0x000000020062EF30
0x0062EF38 0x000000020062EF38
0x0062EF3B 0x000000020062EF3B
0x0062EF3F 0x000000020062EF3F
0x0062EF40 0x000000020062EF40

唯一的区别是前导零,这些都是与它旁边的数字相同的数字。那么,为什么 MSSQL 不将它们视为相等呢?我错过了什么吗?

最佳答案

实际上,它们的不同之处不仅仅是前导零:

 0x        0062EB3F 
 0x000000020062EB3F
          *
          *

那里多了一个“2”.....所以它们相同!

关于sql-server - 为什么我不能比较这些十六进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080163/

相关文章:

sql-server - SQL Server 和自动转换?

SQL师给出错误答案

sql - SQLite3 不支持外键约束吗?

sql - 使用 TSQL,我可以将 CHAR(1) 列递增 1 并在没有 CASE 语句的 LEFT OUTER JOIN 中使用它吗?

sql-server - 如何查询位于不同数据库中的表?

sql - 使用查询检测 SQL Server 利用率

SQL:使用公用表表达式递归获取父记录

使用 PhoneGap 的 Javascript 数据存储解决方案

php - 检查 MySQL 行中是否存在值

sql - 如何将字符串值拆分为一列并返回结果表