Postgres中SQLite的IFNULL()
等同于什么?
我必须遵循查询(Ruby中的sqlite):
SELECT ifnull(max(code_id) + 1, 1)
FROM configentries
WHERE configtable_id = ...
如果我想在PostgreSQL中获得相同的结果,应该怎么样?
答案 0 :(得分:0)
尝试一下, 选择NULLIF(Max(code_id),0)+1 来自配置项 哪里configtable_id = ...
答案 1 :(得分:0)
所有答案都很好,但仅适用于仅返回一行的情况。
如果你想查询多行并在找到 0 行时接收一个默认值,你可以使用这个:
SELECT example_field from "example_table" WHERE attribute='x'
UNION
SELECT 'my_default_value' FROM "example_table" WHERE
(SELECT example_field from "example_table" WHERE attribute='x' LIMIT 1) is NULL