samenvatting: in deze tutorial leert u meer over de PostgreSQL COALESCE functie die het eerste non-null argument retourneert. U leert hoe u deze functie kunt toepassen in SELECT statement om null-waarden effectief af te handelen.
PostgreSQL COALESCE functie syntax
de syntaxis van de functie COALESCE
is als volgt:
Code language: SQL (Structured Query Language) (sql)
de functie COALESCE
accepteert een onbeperkt aantal argumenten. Het geeft het eerste argument terug dat niet null is., Als alle argumenten null zijn, geeft de functie COALESCE
null terug.
de functie COALESCE
evalueert argumenten van links naar rechts totdat het het eerste non-null argument vindt. Alle overige argumenten van het eerste non-null argument worden niet geëvalueerd.
de COALESCE
functie biedt dezelfde functionaliteit als NVL
of IFNULL
functie geleverd door SQL-standard. MySQL heeft IFNULL-functie, terwijl Oracle NVL
– functie biedt.,
Zie de volgende voorbeelden:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
We vaak gebruik van de COLAESCE
functie te vervangen door een standaard waarde voor null-waarden als we het opvragen van de gegevens. We willen bijvoorbeeld het Uittreksel van een blogpost weergeven, als het uittreksel niet wordt verstrekt, kunnen we de eerste 150 tekens van de inhoud van de post gebruiken., Om dit te bereiken, kunnen we de COALESCE
functie als volgt gebruiken:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COALESCE voorbeeld
laten we eens kijken naar een voorbeeld van het gebruik van COALESCE
functie. Eerst maken we een tabel met de naam items met behulp van CREATE TABLE statement als volgt:
Code language: SQL (Structured Query Language) (sql)
er zijn vier velden in de items
tabel:
- id: de primaire sleutel die het item in de items tabel identificeert.
- product: de productnaam.
- prijs: de prijs van het produkt.,
- korting: de korting van het product.
ten Tweede, we invoegen van records in de tabel onderdelen van het gebruik van INSERT-instructie als volgt:
ten Derde, we bevragen de netto prijzen van de producten met behulp van de volgende formule:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Als je kijkt naar de vierde rij, u zult merken dat de netto prijs van het product D
null dat lijkt me niet juist., Het probleem is dat de korting van het product D
null is, dus wanneer we de null waarde nemen om de nettoprijs te berekenen, geeft PostgreSQL null terug.
de juiste prijs krijgen, moeten we aannemen dat als de korting null is, het nul is., Dan kunnen we de functie COALESCE
als volgt gebruiken:
Code language: SQL (Structured Query Language) (sql)
nu is de nettoprijs van product D
is 500
omdat we nul gebruiken in plaats van nulwaarde bij het berekenen van de nettoprijs.
naast het gebruik van de functie COALESCE
, kunt u de HOOFDLETTERUITDRUKKING gebruiken om de null-waarden in dit geval af te handelen. Zie de volgende query die deCASE
expressie gebruikt om hetzelfde resultaat hierboven te bereiken.,
Code language: SQL (Structured Query Language) (sql)
in de query hierboven zeggen we als de korting is null dan gebruik nul (0) anders gebruik korting waarde in de uitdrukking die de nettoprijs te berekenen.
in termen van prestaties, COALESCE
functie en CASE expressie zijn hetzelfde. We geven de voorkeur aan COALESCE
functie dan CASE
expressie omdat COALESCE
functie de query korter en gemakkelijker leesbaar maakt.
in deze tutorial hebt u geleerd hoe u de functie COALESCE
kunt gebruiken om null-waarden in de query te vervangen.,
- Was deze tutorial nuttig ?
- YesNo
Leave a Reply