COALESCE bruges til at kontrollere, om argumentet er NULL, hvis det er NULL, tager det standardværdien.
det vil kontrollere for IKKE NULL værdier sekventielt i listen, og det vil returnere den første ikke NULL værdi.
syntaks:
COALESCE(Argument list,)
Argumentliste – kan være kolonner i en tabel eller udtryk
COALESCE returnerer NULL, hvis alle dens argumenter evalueres til null.
ellers returnerer den værdien af det første ikke-null-argument i den givne udtryksliste.
hver COALESCE-funktion skal have mindst to operander. Enten to kolonner eller en kolonne med en standardværdi.
det er muligt at have flere kolonner under koalesce som nedenfor:
COALESCE(col1, col2, col3, 0)
ovenstående kode siger, at hvis col1 er null, vil den kontrollere col2.
hvis col2 er null, vil den tjekke for col3.
hvis col3 også er null, vil 0 være output.
hvis coalesce støder på nogen af kolonnen, der ikke har null-værdi, returneres kolonneværdien af forespørgslen. (Venstre til højre prioritet)
eksempel : 1
hvis landet tager NULL værdi,’ os ‘ vil blive leveret af Teradata
SELECT COALESCE(Country,'US') as Output
Output
Land | udgang |
---|---|
Italien | Italien |
NULL | US |
eksempel: 2
i følgende eksempel returneres hjemmetelefonnummeret for den navngivne person (hvis til stede) eller kontortelefonen, hvis hjemmetelefonen er null, eller mobiltelefonen, hvis den er til stede, og værdierne for både hjemmetelefonen og kontortelefonen er null. Returnerer NULL, hvis alle tre værdier er null.
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
når en standardværdi er angivet, returneres standardværdien, hvis alle indtastningsfelterne er null
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
eksempel:3
når du kombinerer COALESCE med ikke-sammenligningsoperatører, såsom || eller * eller+, skal du vedlægge hele COALESCE-funktionen og dens operander i parentes.
SELECT (COALESCE(100,0)) * 5;