COALESCE används för att kontrollera om argumentet är NULL, om det är NULL så tar det standardvärdet.
det kommer att kontrollera för inte NULL-värden sekventiellt i listan och det kommer att returnera det första inte NULL-värdet.
Syntax:
COALESCE(Argument list,)
argumentlista – kan vara kolumner i en tabell eller uttryck
COALESCE returnerar NULL om alla dess argument utvärderas till null.
annars returnerar det värdet för det första icke-null-argumentet i den angivna uttryckslistan.
varje COALESCE-funktion måste ha minst två operander. Antingen två kolumner eller en kolumn med ett standardvärde.
det är möjligt att ha flera kolumner under coalesce som nedan:
COALESCE(col1, col2, col3, 0)
ovanstående kod säger att om col1 är null så kommer det att kontrollera col2.
om col2 är null så kommer det att kontrollera för col3.
om col3 också är null, kommer 0 att vara utgången.
om coalesce stöter på någon av kolumnen som inte har null-värde kommer kolumnvärdet att returneras av frågan. (Vänster till höger prioritet)
exempel : 1
om landet tar NULL-värde kommer’ US ’ att levereras av Teradata
SELECT COALESCE(Country,'US') as Output
utgång
Land | utgång |
---|---|
Italien | Italien |
NULL | US |
exempel: 2
följande exempel returnerar hemtelefonnumret för den namngivna individen (om den finns), eller kontortelefon om hemtelefonen är null, eller mobiltelefon om den finns och både hem-och kontortelefonvärden är null. Returnerar NULL om alla tre värdena är null.
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
när ett standardvärde anges returneras standardvärdet om alla inmatningsfält är null
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
exempel:3
när du kombinerar COALESCE med icke-jämförelseoperatorer, till exempel || eller * eller+, måste du bifoga hela COALESCE-funktionen och dess operander inom parentes.
SELECT (COALESCE(100,0)) * 5;