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
Verze z 9. 10. 2007, 11:57, kterou vytvořil imported>WikiSysop
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledává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.