Postgresql postgres中的sqlite IFNULL()

Postgresql postgres中的sqlite IFNULL(),postgresql,sqlite,ifnull,Postgresql,Sqlite,Ifnull,在Postgres中,SQLite的IFNULL()的等价物是什么 我必须执行以下查询(Ruby中的sqlite): 如果我想在PostgreSQL中得到相同的结果,这应该是什么样子的?coalesce: COALESCE函数返回它的第一个参数,该参数不是 无效的仅当所有参数都为Null时才返回Null 试试这个, 选择NULLIF(最大值(代码id),0)+1 从配置条目 其中configtable_id=…所有答案都是正确的,但仅在只返回一行的情况下有效 如果要查询多行并在找到0行时接收默认

在Postgres中,SQLite的
IFNULL()
的等价物是什么

我必须执行以下查询(Ruby中的sqlite):

如果我想在PostgreSQL中得到相同的结果,这应该是什么样子的?

coalesce

COALESCE函数返回它的第一个参数,该参数不是 无效的仅当所有参数都为Null时才返回Null

试试这个, 选择NULLIF(最大值(代码id),0)+1 从配置条目
其中configtable_id=…

所有答案都是正确的,但仅在只返回一行的情况下有效

如果要查询多行并在找到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


尝试合并——它需要先不为空value@a_horse_with_no_name不,这不是为了生成唯一的ID。
SELECT coalesce(max(code_id) + 1, 1) 
FROM configentries 
WHERE configtable_id = ...
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