sql - 在 t-SQL 中将值与 NULL 进行比较

标签 sql sql-server tsql null

我很好奇在 t-SQL 中将 NULL 与值进行比较是否合法?

例如,如果我有:

WITH ctx AS(SELECT 123 AS n0, NULL AS n1)
SELECT n0 FROM ctx
WHERE ctx.n1 < 130

在这种情况下,WHERE 子句的计算结果始终为 FALSE。这是我可以信赖的东西吗?

最佳答案

您不能将 NULL 与任何其他值进行比较,这将导致'UNKNOWN'

来自msdn source

A value of NULL indicates that the value is unknown. A value of NULL is different from an empty or zero value. No two null values are equal. Comparisons between two null values, or between a NULL and any other value, return unknown because the value of each NULL is unknown.

关于sql - 在 t-SQL 中将值与 NULL 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662651/

相关文章:

mysql - 使用左外连接获取数据需要更多时间

sql - 使用当前行值更新变量

MySQL SELECT all 除了两列有特定数据的地方

java - MS SQL 多线程死锁

sql-server - Windows Mobile .net 比照

sql - TSQL - 如何对 2 列使用 case 语句?

sql-server - 在 IF 部分内创建过程

mysql - 如何将记录从登台表插入到主表并将记录更新为同步状态为真

sql - 与 SQL 中的 IFERROR 等效的功能?

java - 控制台和 JDBC 中的十进制截断/舍入差异