COALESCEA käytetään tarkistamaan, onko argumentti nolla, jos se on nolla, niin se ottaa oletusarvon.
se tarkistaa luettelon NOT NULL-arvot peräkkäin ja palauttaa ensimmäisen Ei NULL-arvon.
syntaksi:
COALESCE(Argument list,)
Argumenttiluettelo-voi olla taulukon sarakkeita tai lausekkeita
koalitio palauttaa nollin, jos kaikki sen argumentit arvioidaan nolliksi.
muussa tapauksessa se Palauttaa annetun lausekeluettelon ensimmäisen Ei-null-argumentin arvon.
jokaisella KOALITIOFUNKTIOLLA tulee olla vähintään kaksi operandia. Joko kaksi saraketta tai yksi sarake, jossa on yksi oletusarvo.
koalitioiden alla voi olla useita sarakkeita kuten alla:
COALESCE(col1, col2, col3, 0)
yllä oleva koodi sanoo, että jos col1 on nolla, se tarkistaa col2.
jos col2 on nolla, se tarkistaa col3: n.
jos myös col3 on nolla, tuloste on 0.
jos coalesce kohtaa jonkin sarakkeen, jolla ei ole Nollaa arvoa, sarakkeen arvo palautetaan kyselyllä. (Prioriteetti vasemmalta oikealle)
esimerkki : 1
jos maan arvo on nolla, ” US ” toimitetaan Teradata
SELECT COALESCE(Country,'US') as Output
Lähtö
maa | Tuotos |
---|---|
Italia | Italia |
NULL | US |
Esimerkki: 2
seuraavassa esimerkissä palautetaan nimetyn henkilön kotipuhelinnumero (jos on) tai toimistopuhelin, jos kotipuhelin on nolla, tai kännykkä, jos on, ja sekä koti-että toimistopuhelimen arvot ovat nollia. Palauttaa NULL, jos kaikki kolme arvoa ovat null.
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
kun oletusarvo on annettu, oletusarvo palautetaan, jos kaikki syöttökentät ovat nollia
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
esimerkki:3
kun yhdistät COALESCEN ei-vertaileviin operaattoreihin, kuten || tai * tai+, sinun on liitettävä koko COALESCE-funktio ja sen operandit sulkeisiin.
SELECT (COALESCE(100,0)) * 5;