一尘不染

从PostgreSQL的两列中选择第一个非空单元格

sql

从这样的表中:

id   name      alias
0    John      Null
1    Null      Paul
2    Null      George
3    Ringo     Null
4    Pete      Pete

如何在namealias列之间选择第一个非null值,并将其放入自己的results字段中,这样输出将是:

id   result
0    John
1    Paul
2    George
3    Ringo
4    Pete

阅读 275

收藏
2021-03-08

共1个答案

一尘不染

您基本上是在描述COALESCE函数:

https://www.postgresql.org/docs/9.6/static/functions-
conditional.html

在您的情况下:

SELECT id, COALESCE(name, alias) AS result FROM yourtable;
2021-03-08