sql 中的 nullif() 函数,用于比较两个表达式并返回较小的值,若均为 null 则返回 null,语法为 nullif(expression1, expression2)。可用它避免错误、简化代码,亦可用于过滤、创建唯一索引和替换 null 值。
SQL 中的 NULLIF() 函数
NULLIF() 函数的用途
NULLIF() 函数用于返回两个表达式中较小的值,如果两个表达式都为 NULL,则返回 NULL。
语法
NULLIF(expression1, expression2)
其中:
- expression1:要比较的第一个表达式。
- expression2:要比较的第二个表达式。
用法示例
假设我们有一个包含以下数据的表:
id | name | age |
---|---|---|
1 | John Doe | 30 |
2 | Jane Smith | NULL |
3 | Mark Wilson | 25 |
我们可以使用 NULLIF() 函数来查找 name 为 NULL 的人员的年龄:
SELECT id, name, NULLIF(age, 0) AS age_without_null FROM table_name;
结果:
id | name | age_without_null |
---|---|---|
1 | John Doe | 30 |
2 | Jane Smith | NULL |
3 | Mark Wilson | 25 |
因为 name 为 NULL 的行 (Jane Smith) 的 age 也为 NULL,所以 NULLIF() 函数返回 NULL。
使用 NULLIF() 函数的好处
使用 NULLIF() 函数的主要好处是:
- 避免在涉及 NULL 值的表达式中出现错误。
- 简化代码,使代码更易于阅读和理解。
其他用法
NULLIF() 函数还可以用于其他场景,例如:
- 过滤掉包含 NULL 值的行。
- 创建唯一的索引,同时忽略 NULL 值。
- 将 NULL 值替换为其他值。
以上就是sql中nullif怎么用的详细内容,更多请关注CTO智库其它相关文章!