The NULL
value is not a number, string, date, timestamp, array or JSON object. It’s just NULL
, this is why it has its own functions:
COALESCE(val1, val2, …)
The COALESCE()
function accepts the arbitrary number of arguments and returns the first non-NULL
one. It’s really handy for setting default values:
WITH reading_stats AS ( SELECT user_id, COUNT(*) books_count FROM books_users GROUP BY 1 ) SELECT u.id AS user_id, COALESCE(books_count, 0) AS books_count FROM users u LEFT JOIN reading_stats r ON u.id = r.user_id
NULLIF(val1, val2)
The NULLIF()
...