SQL Server samles

SQL Server samles

Fra tid til annen kommer vi over en situasjon der vi trenger å håndtere nullverdier i en database. Denne opplæringen vil se på en viktig SQL-serverfunksjon som lar deg sammenligne verdier og returnere den første ikke-nullverdien i settet.

Hva er en nullverdi?

Vi kan definere en nullverdi som en manglende eller ingen verdi. I SQL Server refererer en nullverdi til en kolonne hvis verdi er ukjent eller mangler. Derfor er en null eller en tom streng ikke en nullverdi.

SQL Server samles funksjon

Coalesce () -funksjonen i SQL Server brukes til å evaluere et sett med verdier og returnere den første ikke-nullverdien fra settet.

Du lurer kanskje på, hvorfor trenger jeg å bruke Coalesce () -funksjonen over ISNULL ()?

Noen ganger kan du bruke Coalesce () -funksjonen som et alternativ til ISNull (). Fordelen med samles over ISNULL er at den aksepterer over to parametere.

Syntaksen til Coalesce () -funksjonen er som vist:

Coalesce (Expression1, Expression2, ... Expressionn)

Funksjonen tar skalaruttrykk og returnerer det første ikke-null-uttrykket fra det medfølgende settet. Hvis alle uttrykkene evaluerer til null, vil funksjonen også returnere en nullverdi, noe som indikerer at det ikke er noen ikke-nullverdi.

Du kan bruke Coalesce -funksjonen i SQL -klausuler som aksepterer uttrykk som Select, hvor, gruppe av osv.

Egenskaper til SQL Server Coalesce () -funksjon

Coalesce -funksjonen inneholder følgende egenskaper:

  1. Skalaruttrykkene må være av en lignende type.
  2. Funksjonen evaluerer alltid et heltall først.
  3. Det kan ta mer enn et enkelt uttrykk

La oss se på forskjellige eksempler på å bruke Coalesce () -funksjonen i SQL Server.

Eksempel 1

Følgende eksempel viser hvordan du bruker Coalesce-funksjonen for å returnere den første ikke-nullverdien fra det medfølgende settet.

Velg Coalesce (NULL, 'NULL', NULL);

Koden over skal returnere strengen 'Null'.

Eksempel 2

Du kan også bruke Coalesce -funksjonen på et sett med heltallverdier, som vist i eksempelkoden nedenfor:

Velg Coalesce (NULL, 1, 2, 3, 4, 5, NULL);

Siden den første ikke-nullverdien i settet er 1, skal funksjonen returnere 1 som:

Eksempel 3

Hva skjer hvis vi bruker coalesce -funksjonen med uttrykk av en annen type? Tenk på eksempelkoden nedenfor:

Velg Coalesce (Null, 'Null', 100, NULL);

Hvis du utfører koden over, returnerer SQL Server en feilmelding som:

Eksempel 4

Et godt eksempel på bruk av coalesce -funksjonen er når du utfører strengkonturasjon. Tenk på eksemplet på spørringen nedenfor:

Bruk SalesDB;
Velg FirstName + " + MiddleInitial + LastName FullName fra kunder;

Du legger merke til at spørringen ovenfor returnerer rader med nullverdier som vist:

For å løse dette kan vi bruke Coalesce -funksjonen som vist i spørringen nedenfor:

Bruk SalesDB;
Velg FirstName + " + Coalesce (MiddleInitial,") + LastName FullName fra kunder;

Koden skal eliminere nullverdiene som vist i utgangen nedenfor:

Eksempel 5

Du kan bruke Coalesce -funksjonen til å erstatte nullverdier med nye verdier.

Tenk for eksempel eksemplet på spørringen nedenfor:

Bruk SalesDB;
Velg * fra kunder
Bestilling av CustomerId;

Dette returnerer kolonnene i kundenes bord. Du vil nullverdier i MiddleInital -kolonnen:

I stedet for en nullverdi, kan vi bruke Coalesce -funksjonen til å returnere strengen "tom" der Middleinitial mangler.

Et eksempel på spørring er som vist:

Bruk SalesDB;
Velg CustomerId, FirstName, Coalesce (MiddleInitial, 'Missing') som MiddleInitial, LastName fra kunder
Bestilling av CustomerId;

Koden over erstatter nullverdiene med strengen “Mangler” som vist:

Sammenlign Coalesce () vs sak

Hvis du har brukt saksuttrykket i SQL Server, merker du at Coalesce () -funksjonen oppfører seg på samme måte. Dette er fordi Coalesce () -funksjonen er en mer kompakt og minimert versjon av saksuttalelsen. Det er mindre kode og mye lesbar.

Innpakning!

Denne guiden dekket det grunnleggende om å bruke SQL Server Coalesce-funksjonen for å få den første ikke-nullen fra et gitt sett. Vi demonstrerte også eksempler på brukstilfeller av coalesce -funksjonen.

Takk for at du leser og sjekket flere SQL Server -opplæringsprogrammer.