1 IFNULL(expr1,expr2)
如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。
IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
IFNULL(expr1,expr2)的默认结果值为两个表达式中更加“通用”的一个,顺序为STRING、 REAL或INTEGER。
例如:
select ifnull(col1,'default-value'), col2 from test;
等价于:
select c1,
(case when c2 = '' or c2 is null then'default-value' else c2 end)
from test;
补充:case语句语法:
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSEresult] END
CASE WHEN [condition] THEN result [WHEN[condition] THEN result ...] [ELSE result] END
2.NULLIF(expr1,expr2) 的用法:
如果expr1= expr2 成立,那么返回值为NULL,否则返回值为 expr1。这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。
3.isnull(expr) 的用法:
如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。