COALESCE în Teradata

COALESCE este folosit pentru a verifica dacă argumentul este NULL, dacă este NULL, atunci este nevoie de valoarea implicită.
va verifica secvențial valorile NOT NULL din listă și va returna prima valoare NOT NULL.
sintaxă:

COALESCE(Argument list,)

lista argumentelor – pot fi coloane ale unui tabel sau expresii
COALESCE returnează NULL dacă toate argumentele sale se evaluează la null.
în caz contrar, returnează valoarea primului argument non-nul din lista de expresii date.
fiecare funcție de fuziune trebuie să aibă cel puțin doi operanzi. Fie două coloane sau o coloană cu o valoare implicită.
este posibil să aveți mai multe coloane sub coalesce ca mai jos:

COALESCE(col1, col2, col3, 0)

codul de mai sus spune că, dacă col1 este nul, atunci va verifica col2.
dacă col2 este nul, atunci va verifica col3.
dacă col3 este de asemenea nul, atunci 0 va fi ieșirea.
dacă coalesce întâlnește oricare dintre coloane care nu au valoare nulă, atunci valoarea coloanei va fi returnată de interogare. (Prioritate stânga la dreapta)
exemplu : 1
dacă țara are valoare nulă, ‘SUA’ vor fi furnizate de Teradata

SELECT COALESCE(Country,'US') as Output

ieșire

țară producție
Italia Italia
NULL SUA

exemplu: 2
următorul exemplu returnează numărul de telefon de acasă al persoanei numite (dacă este prezent) sau telefonul de birou dacă telefonul de acasă este nul sau telefonul mobil dacă este prezent și atât valorile telefonului de acasă, cât și cele ale telefonului de birou sunt nule. Returnează NULL dacă toate cele trei valori sunt nule.

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

când este furnizată o valoare implicită, valoarea implicită va fi returnată dacă toate câmpurile de intrare sunt nule

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

exemplu:3
ori de câte ori combinați COALESCE cu operatori non-comparație, cum ar fi || sau * sau +, trebuie să includeți întreaga funcție COALESCE și operanzii săi între paranteze.

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

Lasă un răspuns

Adresa ta de email nu va fi publicată.