运行以下命令时,如何返回0而不是null:
SELECT MAX(X) AS MaxX
FROM tbl
WHERE XID = 1
Run Code Online (Sandbox Code Playgroud)
(假设没有XID = 1的行)
HLG*_*GEM 92
要么:
SELECT coalesce(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1
Run Code Online (Sandbox Code Playgroud)
Nes*_*tor 70
在SQL 2005/2008中:
SELECT ISNULL(MAX(X), 0) AS MaxX
FROM tbl WHERE XID = 1
Run Code Online (Sandbox Code Playgroud)
Gre*_*reg 26
像这样(对于MySQL):
SELECT IFNULL(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1
Run Code Online (Sandbox Code Playgroud)
对于MSSQL替换IFNULL用ISNULL或用于Oracle使用NVL
Mar*_*iss 10
你也可以使用COALESCE(表达式[,... n]) - 首先返回非null,如:
SELECT COALESCE(MAX(X),0) AS MaxX
FROM tbl
WHERE XID = 1
Run Code Online (Sandbox Code Playgroud)
小智 5
甲骨文会的
SELECT NVL(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100334 次 |
| 最近记录: |