COALESCE v Teradata

COALESCE se používá ke kontrole, zda je argument NULL, pokud je NULL, pak má výchozí hodnotu.
zkontroluje hodnoty NOT NULL postupně v seznamu a vrátí první hodnotu NOT NULL.
syntaxe:

COALESCE(Argument list,)

seznam argumentů – mohou to být sloupce tabulky nebo výrazy
COALESCE vrací NULL, pokud všechny jeho argumenty vyhodnotí na null.
jinak vrátí hodnotu prvního nenulového argumentu v daném seznamu výrazů.
každá funkce splynutí musí mít alespoň dva operandy. Buď dva sloupce nebo jeden sloupec s jednou výchozí hodnotou.
je možné mít více sloupců pod koalesce jako níže:

COALESCE(col1, col2, col3, 0)

výše uvedený kód říká, že pokud je col1 null, zkontroluje col2.
pokud je col2 null, zkontroluje col3.
pokud je col3 také null, pak 0 bude výstupem.
pokud coalesce narazí na některý ze sloupců, který nemá hodnotu null, vrátí se hodnota sloupce dotazem. (Priorita zleva doprava)
příklad : 1
pokud země získá nulovou hodnotu, “ US “ bude dodáno Teradata

SELECT COALESCE(Country,'US') as Output

výstup

země výstup
Itálie Itálie
NULL US

příklad: 2
následující příklad vrací domácí telefonní číslo jmenované osoby (pokud je přítomno), nebo kancelářský telefon, pokud je HomePhone null, nebo mobilní telefon, pokud je přítomen, a hodnoty domácího i kancelářského telefonu jsou nulové. Vrátí NULL, pokud jsou všechny tři hodnoty null.

SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;

pokud je zadána výchozí hodnota, výchozí hodnota bude vrácena, pokud jsou všechna vstupní pole null

SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;

příklad: 3
kdykoli kombinujete spojení s neporovnatelnými operátory, jako je | / nebo * nebo +, musíte uzavřít celou funkci COALESCE a její operandy v závorkách.

SELECT (COALESCE(100,0)) * 5;

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.