Gostaria de usar um valor padrão para uma coluna que deve ser usada se nenhuma linha for retornada. Isso é possível no PostgreSQL? Como eu posso fazer isso? Ou existe alguma outra maneira de resolver isso?
Por exemplo, algo como isto:
SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table WHERE org_id = 3
E se não houver linhas com org_id = 3
na tabela, quero retornar 0
.
SELECT coalesce(MAX(post_id),0) AS max_id FROM my_table WHERE org_id = 3
funciona bem para mim.Basta retornar o valor padrão se nenhuma linha for encontrada:
fonte
IFNULL
não é uma sintaxe válida no Postgres (ou SQL padrão). É usado no MySQL.