4.09 Jak v dotazu detekovat, že položka je NULL? Jak bezpečně spojit dva řetězce, pokud mohou obsahovat NULL? Lze třídit podle toho, jestli je položka NULL nebo ne?

Z PostgreSQL
Přejít na: navigace, hledání

Pokud chcete testovat hodnotu NULL použijte operátor IS:

   SELECT *
   FROM tab
   WHERE col IS NULL;

K spojení řetězců, které mohou obsahovat hodnotu NULL, používejte funkci COALESCE(), např.:

   SELECT COALESCE(col1, '') || COALESCE(col2, '')
   FROM tab

Pokud chcete třídit podle hodnoty NULL, použijte výraz IS NULL nebo IS NOT NULL v klauzuli ORDER. Hodnota pravda má přednost před hodnotou false a tedy pokud použijete:

   SELECT *
   FROM tab
   ORDER BY (col IS NOT NULL)

tak záznamy s NULL budou na začátku setříděných dat.