declare @test int
declare @test2 int = 3
select case when @test != @test2 then 1 else 0 end
select case when @test = @test2 then 1 else 0 end
结果始终为 0。有人可以解释一下吗?
最佳答案
您还没有为@test
设置值,它是NULL
。
@test
永远不会等于或不等于 @test2
,因为任何与 NULL
的比较都是错误的。
关于sql-server-2008 - 奇怪的 SQL Server 比较总是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979798/