我知道SQLITE的NULLIF(X,Y)函数相当于:
CASE
WHEN
X = Y
THEN
NULL
ELSE
X
END
Run Code Online (Sandbox Code Playgroud)
和IFNULL(X,Y)功能相当于:
CASE
WHEN
X IS NULL
THEN
Y
ELSE
X
END
Run Code Online (Sandbox Code Playgroud)
IFNULL(X,Y)的SQLITE功能被用于替换X的NULL值到Y,但我不能了解使用SQLITE的NULLIF(X,Y)的功能.请用例子说明,这样更有用.
CL.*_*CL. 12
当数据库包含NULL值时使用IFNULL函数,但是您希望将这些值作为其他值处理; 例如:
SELECT Name, IFNULL(Age, 'unknown') AS Age FROM People
Run Code Online (Sandbox Code Playgroud)
当数据库包含非 NULL的特殊值但您想要处理为NULL 时,将使用NULLIF函数.这对聚合函数尤其有用.例如,要获得获得奖金的员工数量,请使用:
SELECT COUNT(NULLIF(Bonus, 0)) FROM Employees
Run Code Online (Sandbox Code Playgroud)
这与:
SELECT COUNT(*) FROM Employees WHERE Bonus != 0
Run Code Online (Sandbox Code Playgroud)
实际上,NULLIF不像IFNULL那样频繁使用.
| 归档时间: |
|
| 查看次数: |
5726 次 |
| 最近记录: |