COALESCE in Teradata

COALESCE wordt gebruikt om te controleren of het argument NULL is, als het NULL is dan neemt het de standaardwaarde.
het controleert achtereenvolgens op niet-nulwaarden in de lijst en het Retourneert de eerste niet-nulwaarde.
syntaxis:

COALESCE(Argument list,)

Argumentenlijst-kan kolommen zijn van een tabel of expressies
COALESCE geeft NULL terug als al zijn argumenten null zijn.
anders retourneert het de waarde van het eerste non-null argument in de gegeven expressielijst.
elke COALESCEFUNCTIE moet ten minste twee operanden hebben. Ofwel twee kolommen of één kolom met één standaardwaarde.
het is mogelijk om meerdere kolommen te hebben onder coalesce zoals hieronder:

COALESCE(col1, col2, col3, 0)

de bovenstaande code zegt dat als col1 null Is, het col2 zal controleren.
als col2 null is dan zal het controleren op col3.
als col3 ook null is, dan is 0 de uitvoer.
als coalesce een kolom tegenkomt die geen nulwaarde heeft, wordt de kolomwaarde door de query geretourneerd. (Prioriteit van links naar rechts)
voorbeeld : 1
Als het land neemt de waarde NULL, ‘ONS’ zal worden geleverd door Teradata

SELECT COALESCE(Country,'US') as Output

Output

Land Output
Italië Italië
NULL ONS

Voorbeeld: 2
Het volgende voorbeeld geeft het telefoonnummer van de naam van een persoon (indien aanwezig), of op kantoor telefoon als Telefoonprivé is null of Mobiele telefoon (indien aanwezig en zowel thuis en op kantoor telefoon-waarden null zijn. Geeft NULL terug als alle drie de waarden null zijn.

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

wanneer een standaardwaarde wordt opgegeven, wordt de standaardwaarde geretourneerd als alle invoervelden null

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

Voorbeeld:3
wanneer u COALESCE combineert met niet-vergelijkingsoperators, zoals || of * of +, moet u de gehele COALESCE-functie en de operanden tussen haakjes omsluiten.

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

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.