当查询返回“ 0 RECORDS”或“ NULL”时返回字符串

时间:2019-10-18 16:44:10

标签: database postgresql

当查询返回“ 0 RECORDS”或“ NULL”时,我希望它返回“ No Value”作为值

create table registry
(
  column_value VARCHAR(30)
  );

查询

SELECT
COALESCE(NULLIF(column_value,'NO VALUE'),'NO VALUE')
FROM registry

预期结果

 |   column_value  |
 ___________________

 |    "No Value"   |

1 个答案:

答案 0 :(得分:1)

假设您对查询的单行结果感兴趣,则可以使用

SELECT
    coalesce( nullif( MAX(column_value),'0 RECORDS') ,'NO VALUE')
FROM registry

MAX这样的聚合函数总是返回一行,即使查询结果没有返回任何行。

我在下面的演示中针对表中的一行使用了各种示例。看看。

DEMO