m.e*_*son 1 t-sql database sql-server hex
我有两组十六进制值:
---------- ------------------
0x0062EB3F 0x000000020062EB3F
0x0062EF17 0x000000020062EF17
0x0062EF30 0x000000020062EF30
0x0062EF38 0x000000020062EF38
0x0062EF3B 0x000000020062EF3B
0x0062EF3F 0x000000020062EF3F
0x0062EF40 0x000000020062EF40
Run Code Online (Sandbox Code Playgroud)
唯一的区别是前导零,这些是与旁边的零相同的数字.那么为什么MSSQL不认为它们是平等的呢?我错过了什么吗?
实际上,它们的不同之处不仅仅是前导零:
0x 0062EB3F
0x000000020062EB3F
*
*
Run Code Online (Sandbox Code Playgroud)
那里还有一个额外的"2".....所以它们不一样!
首先,您在问题中列出的数字不一样:
0x0062EB3F != 0x000000020062EB3F
^
Run Code Online (Sandbox Code Playgroud)
请注意,右边的数字有2个额外的数字
此外,它还取决于SQL Server用于存储数字的数据类型.如果它们存储为INT或BIGINT,则0x0001等效于0x1,但如果它们存储为例如VARBINARY - 那么0x0001与0x1不同.
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |