我正在尝试通过以下LEFT相等检查了解发生了什么。
select
CASE
when LEFT(0x000012CA,4) = cast(4842 as varbinary(4)) then 1
ELSE 0
END
结果:1
预期:0
这应该是0
,但会返回1
。如果我将0x000012CA
更改为任何其他值(但0x000012EA
为4842),则结果会正确解析为0
。
看来我可以做到
cast(LEFT(0x000012CA,4) as varbinary(4))
它正确解析,但这并不能解释为什么说4841为4841工作或0x000012CA
为0x000012BA
答案 0 :(得分:0)
尝试使用过大的数字来查看它是否有效。
select
CASE
when LEFT(0x000012CA,4) = cast(4842 as varbinary(400)) then 1
ELSE 0
END