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?
Verze z 9. 10. 2007, 11:57, kterou vytvořil imported>WikiSysop
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.