|
|
| CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP | Funkce definované normou SQL | COALESCE |
NULLIF ( výraz1, výraz2 )
Funkce NULLIF vrací hodnotu NULL pokud se hodnoty obou výrazů rovnají, jinak vrací hodnotu prvního výrazu. Výraz1 a výraz2 musí být takových typů, aby je bylo možno porovnat.
Jedná se v podstatě o zjednodušení zápisu využívajícího podmíněný výraz CASE:
CASE
WHEN výraz1=výraz2 THEN NULL
ELSE výraz1
END
Poznámka: Jeden z důvodů zavedení je historický - pokud starší databáze neměly zavedenu hodnotu NULL, musely tuto hodnotu reprezentovat jiným způsobem (např. -1 pro plat apod.). Při přechodu na SQL, které vyžaduje hodnotu NULL, se tyto hodnoty musí transformovat, např. pomocí funkce NULLIF:
... NULLIF(plat, -1) ...
| CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP | Funkce definované normou SQL | COALESCE |