sql-server-2008 - 奇怪的 SQL Server 比较总是错误的

标签 sql-server-2008 tsql

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/

相关文章:

sql-server - Visual Studio 2010 和 SQL Server

sql - 使用 PIVOT 选择列值作为列

sql-server - 自动生成数据库更改脚本

sql-server - T-SQL 时间平均

tsql - 使用脚本从 bak 文件恢复最新备份

sql - 如何使用 TSQL 更新 SQL SERVER 中的 BLOB

c# - 使用 NHibernate 的 SqlDateTime 溢出

database - 复杂的 SQL 连接

asp.net - 如何在 SQL Server 2008 中的单个存储过程中编写两个更新查询

SQL - 选择一个字段中具有来自另一字段的最高记录的不同记录