Postgresql
如何在 PostgreSQL 的 Select 查詢中使用預設值?
如果沒有返回行,我想為應該使用的列使用預設值。這在 PostgreSQL 中可能嗎?我該怎麼做?或者有沒有其他方法可以解決這個問題?
例如這樣的:
SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table WHERE org_id = 3
如果
org_id = 3
表中沒有我想返回的行0
。
SELECT coalesce(MAX(post_id),0) AS max_id FROM my_table WHERE org_id = 3
要麼
SELECT case count(*) when 0 then 0 else MAX(post_id) end AS max_id FROM my_table WHERE org_id = 3;
如果您希望 max(post_id)
null
在有 1 行但 post_id 為空時出現
如果您想
0
在查詢返回 0 行時顯示(唉 1 行),那麼您可以使用:SELECT COALESCE( ( SELECT MAX(post_id) FROM my_table WHERE org_id = 3 ) , 0) AS max_id