null值
在SQL语句中,null代表一个空值,表示该值不存在或未知。通常情况下,可以使用关键字IS NULL或IS NOT NULL来检查一个值是否为null。
CASE表达式
CASE表达式可以根据某个条件返回不同的值。如果需要判断一个值是否为null,可以使用以下语法:
CASE
WHEN a IS NULL THEN 'a为空值'
ELSE 'a不为空值'
END
其中:
* a:需要检查的列或表达式
* 'a为空值':当a为null时返回的值
* 'a不为空值':当a不为null时返回的值
COALESCE函数
COALESCE函数可以返回第一个非空值,语法如下:
COALESCE(a, b, c, ...)
其中:
* a、b、c等:要检查的列或表达式
如果a不为null,则COALESCE函数将返回a;如果a为null,则返回b;如果b也为null,则返回c;以此类推。
示例
假设我们有一张名为t的表,其中包含a、b两列。以下SQL语句将列出所有a为null的行:
SELECT * FROM t WHERE a IS NULL
以下SQL语句将列出所有a不为null的行:
SELECT * FROM t WHERE a IS NOT NULL
以下SQL语句将列出所有a为'foo'或null的行:
SELECT * FROM t WHERE a = 'foo' OR a IS NULL
SQL语句提供了多种 来检查和处理null值。通过使用IS NULL、IS NOT NULL、CASE表达式和COALESCE函数,可以根据业务需求灵活地处理null值。