COALESCE használják, hogy ellenőrizze, ha az argumentum NULL, ha ez NULL akkor veszi az alapértelmezett érték.
egymás után ellenőrzi a nem NULL értékeket a listában, és visszaadja az első nem NULL értéket.
szintaxis:
COALESCE(Argument list,)
argumentumlista – lehet egy táblázat oszlopai vagy kifejezések
A COALESCE NULL értéket ad vissza, ha az összes argumentuma null értékre kerül.
ellenkező esetben az adott kifejezéslista első nem null Argumentumának értékét adja vissza.
minden egyes COALESCE függvénynek legalább két operandussal kell rendelkeznie. Vagy két oszlop, vagy egy oszlop egy alapértelmezett értékkel.
lehetséges, hogy több oszlop van a coalesce alatt, mint az alábbiakban:
COALESCE(col1, col2, col3, 0)
A fenti kód azt mondja, hogy ha col1 null, akkor ellenőrizni fogja col2.
ha a col2 nulla, akkor ellenőrzi a col3 – at.
ha a col3 is null, akkor 0 lesz a kimenet.
ha a coalesce olyan oszlopot talál, amelynek nincs null értéke, akkor az oszlop értékét a lekérdezés adja vissza. (Balról jobbra prioritás)
példa : 1
ha az ország null értéket vesz fel, a Teradata
SELECT COALESCE(Country,'US') as Output
kimenetet adja meg
ország | kimenet |
---|---|
Olaszország | Olaszország |
NULL | USA |
példa: 2
A következő példa a megnevezett személy otthoni telefonszámát adja vissza (ha van), vagy irodai telefont, ha a HomePhone értéke null, vagy mobiltelefont, ha van, és mind az otthoni, mind az irodai telefon értéke null. NULL értéket ad vissza, ha mindhárom érték null.
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
alapértelmezett érték megadása esetén az alapértelmezett érték akkor kerül visszaadásra, ha az összes beviteli mező nulla
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
példa:3
amikor a COALESCE-t nem összehasonlító operátorokkal kombinálja, például || vagy * vagy +, zárójelbe kell tennie a COALESCE teljes függvényét és operandusait.
SELECT (COALESCE(100,0)) * 5;