Oppsummering: i denne opplæringen vil du lære om PostgreSQL SAMMENFATTET funksjon som returnerer den første ikke-null-argumentet. Du vil lære hvordan du kan bruke denne funksjonen i SELECT-setning for å håndtere null-verdier effektivt.
PostgreSQL SAMMENFATTET funksjon syntaks
syntaks for COALESCE
funksjon er som følger:
Code language: SQL (Structured Query Language) (sql)
COALESCE
funksjon aksepterer et ubegrenset antall argumenter. Den returnerer det første argumentet som ikke er null., Hvis alle argumentene er null, COALESCE
funksjonen vil returnere null.
COALESCE
funksjonen evaluerer argumenter fra venstre til høyre til den finner den første ikke-null-argumentet. Alle de gjenværende argumenter fra den første ikke-null argumentet er ikke evaluert.
COALESCE
funksjon gir samme funksjonalitet som NVL
eller IFNULL
funksjon levert av SQL-standarden. MySQL har IFNULL funksjon, mens Oracle gir NVL
funksjon.,
Se på følgende eksempler:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Vi ofte bruker COLAESCE
funksjon for å erstatte en standard verdi for null-verdier når vi spørring data. For eksempel, ønsker vi å vise utdrag fra et blogginnlegg, hvis sitatet er ikke angitt, kan vi bruke de første 150 tegn på for innholdet i innlegget., For å oppnå dette, kan vi bruke COALESCE
funksjon som følger:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL SAMMENFATTET eksempel
La oss ta en titt på et eksempel på bruk av COALESCE
funksjon. Først oppretter vi en tabell som heter elementer ved hjelp av CREATE TABLE statement som følger:
Code language: SQL (Structured Query Language) (sql)
Det er fire felt i items
tabell:
- id: den primære nøkkelen som identifiserer objektet i varer-tabellen.
- produkt: produktet navn.
- pris: prisen på produktet.,
- rabatt: rabatt på produktet.
Andre, vi setter inn noen poster i elementer tabellen ved å bruke SETT inn-setningen som følger:
Tredje, vi spørring netto prisene på produktene ved hjelp av følgende formel:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Hvis du ser på fjerde rad, du vil merke at netto pris på produktet D
er null som synes det ikke er riktig., Problemet er rabatt på produktet D
er null, derfor, når vi tar den null-verdi for å beregne netto pris, PostgreSQL returnerer null.
for å få den rette prisen, må vi anta at dersom rabatten er null, det er null., Da kan vi bruke COALESCE
funksjon som følger:
Code language: SQL (Structured Query Language) (sql)
Nå netto pris på produktet D
er 500
fordi vi bruker null i stedet for null-verdi når vi beregnet netto pris.
i Tillegg til å bruke COALESCE
funksjon, kan du bruke FALL uttrykk for å håndtere null-verdier i dette tilfellet. Se følgende spørring som bruker CASE
uttrykk for å oppnå det samme resultatet ovenfor.,
Code language: SQL (Structured Query Language) (sql)
I søket ovenfor kan vi si at hvis rabatten er null og deretter bruke null (0) ellers bruker rabatt verdi i uttrykket som beregner netto pris.
I form av ytelse, COALESCE
funksjon og CASE-uttrykk er de samme. Vi foretrekker COALESCE
funksjon enn CASE
uttrykk fordi COALESCE
funksjon gjør spørring kortere og enklere å lese.
I denne opplæringen, har du lært hvordan du kan bruke COALESCE
funksjon for å erstatte null-verdier i søket.,
- Var denne opplæringen nyttig ?
- YesNo
Leave a Reply