如果行不存在,如何从pgsql中的查询返回'0'?喜欢
SELECT IF EXISTS(field)THEN字段ELSE 0 FROM table
Rom*_*kar 13
我不完全理解你想得到什么结果,但如果你想从表格中的某些行获取值,如果没有行存在,则尝试0,尝试:
select coalesce((select field from table limit 1), 0)
Run Code Online (Sandbox Code Playgroud)
如果你有一些表的过滤条件可以返回1行或没有,请尝试此查询:
select coalesce((select field from table where <your condition>), 0)
Run Code Online (Sandbox Code Playgroud)
SELECT CASE WHEN EXISTS (SELECT 1 FROM table WHERE xxx) THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)
但是你的问题是在一个字段上而不是在一行上。如果您只是与 NULL 进行比较,并考虑“如果它存在”,那就是:
SELECT CASE WHEN field IS NULL THEN 0 ELSE 1 END FROM table
Run Code Online (Sandbox Code Playgroud)
(当然,如果你真的想要 '0' 字符串,只需在返回值周围加上单引号。
| 归档时间: |
|
| 查看次数: |
5744 次 |
| 最近记录: |