南大通用GBase 8a通过COALESCE函数返回第一个非null的值

GBase 8a提供了COALESCE,返回参数列表里的第一个非 NULL 值,在全部为 NULL 值的情况下返回值为NULL。

用法

COALESCE(value,…)

其中参数可以有多个,用逗号分割。

使用样例

如下样例优先返回name, 如果name是null则返回id。

gbase> select * from testnull;
+------+-------+
| id   | name  |
+------+-------+
|    1 | First |
|    2 | NULL  |
+------+-------+
2 rows in set (Elapsed: 00:00:00.01)

gbase> select COALESCE(id,name) value from testnull;
+-------+
| value |
+-------+
| 1     |
| 2     |
+-------+
2 rows in set (Elapsed: 00:00:00.02)

gbase> select COALESCE(name,id) value from testnull;
+-------+
| value |
+-------+
| First |
| 2     |
+-------+
2 rows in set (Elapsed: 00:00:00.00)