s .lshack

Denne artikel udforsker strengmanipulationen ved hjælp af S .l Coalesce-funktionen i s .l Server.

Strengmanipulation er en proces til at generere en anden form for eksisterende data på en måde, som virksomheden bruger eller vises som resultater i rapporterne. Tidligere SQL-streng funktion artikler, jeg har skrevet, herunder SQL-streng-funktioner til Data Munging og SQL Substring funktion oversigt diskuteret data forberedelse og data management opgaver ved hjælp af indbyggede SQL Server string funktioner.,

s .l server har også nogle indbyggede tegnfunktioner, der også giver os mulighed for at manipulere og transformere data. Samtidig er det vigtigt at undersøge datasæt, udforske dataværdier og kode eller afkode værdierne efter behov for at generere meningsfulde data. Det er vigtigt at vide, hvordan man navigerer gennem manglende værdier i vores datasæt, forstå indflydelse på beregninger, forespørgsler, rapporter og datasæt forberedelse og komme med teknikker for at undgå at lade nulværdier ødelægge vores resultatsæt.

Hvad er en nulværdi?,

før vi dykker ned i, hvordan vi navigerer i det potentielle minefelt af datasæt med manglende værdier og undgår at træde på en Null, lad os først se hurtigt på, hvad en NULL er.

som defineret af kipedia

Null (eller NULL) er en speciel markør, der bruges i struktureret forespørgselssprog for at indikere, at en dataværdi ikke findes i databasen. Introduceret af skaberen af den relationelle databasemodel, E. F., Codd, s .l Null tjener til at opfylde kravet om, at alle sande relationelle database management systems (RDBMS) understøtter en repræsentation af “manglende information og uanvendelig information”. Codd introducerede også brugen af det små græske Omega (symbol) symbol til at repræsentere Null i databaseteori. I S .l er NULL et reserveret ord, der bruges til at identificere denne markør. … Dette bør ikke forveksles med en værdi på 0. En null-værdi indikerer en mangel på en værdi — en manglende værdi er ikke det samme som en værdi på nul, i samme måde, som et manglende svar er ikke det samme som et svar med “nej”.,

desuden …

s .l null er en tilstand, ikke en værdi. Denne brug er helt forskellig fra de fleste programmeringssprog, hvor null-værdien af en reference betyder, at den ikke peger på noget objekt.

s .l giver nogle praktiske funktioner til at arbejde med dine karakterdata i dine s .l-forespørgsler, som vi beskriver detaljeret

s .l Coalesce-funktion

S .l Coalesce og IsNull-funktioner bruges til at håndtere NULL-værdier. Under ekspressionsevalueringsprocessen erstattes NULLVÆRDIERNE med den brugerdefinerede værdi.,

s .l Coalesce-funktionen evaluerer argumenterne i rækkefølge og returnerer altid den første ikke-null-værdi fra den definerede argumentliste.

Syntaks

OVERFLADE ( udtryk )

Ejendomme af SQL hånd i hånd funktion

  1. Udtryk skal være af samme data-type
  2. Det kan indeholde flere udtryk
  3. SQL-hånd i hånd funktion er en syntaktisk genvej til Tilfælde udtryk
  4. evaluerer Altid til et heltal, der er det første, et heltal efterfulgt af karakter udtrykket heltal som et output.,

eksempler:

s .l samles i en streng sammenkædning operation

i det følgende eksempel vil vi sammenkæde nogle værdier. Men igen er det bare en anmeldelse for at fortælle dig, hvad der sker, når vi har en nulværdi. Så lad os gå videre og udføre T-s .l. Og vi kan se, at vi støder på en NULL-værdi under behandling af streng sammenkædning operation. S .l server returnerer simpelthen NULL, når den støder på NULL-værdi. Resultatet er ikke en kombination af fornavn, null og efternavn.,

1
SELECT firstName +’ ‘+MiddleName+’ ‘+ LastName FullName FROM Person.Person

Let us handle the NULL values using a function called SQL COALESCE. It allows handling the behavior of the NULL value., Så i dette tilfælde skal du bruge coalesce s .l-funktionen til at erstatte alle mellemnavn NULL-værdier med en værdi ” (Char(13) – space). S .l-sætningen skal stadig sammenkæde alle tre navne, men der vises ingen NULL-værdier i output. Vi ser nu, at det fulde navn vises med et mellemrum i midten for NULL-værdier. På denne måde er det muligt effektivt at tilpasse kolonneværdierne.,

1
VÆLG fornavn +’ ‘+hånd i hånd(MiddleName,”) +’ ‘+ Efternavn FRA Person til Person.Person

SQL hånd i hånd funktion og drejelige

følgende eksempel returnerer den sammenkædede ikke-null-værdier fra tabel ’tilstand’. I nogle tilfælde skal du muligvis tildele de sammenkædede statiske værdier til en variabel., I dette tilfælde analyseres værdierne i bykolonnen ved hjælp af Coalesce s .l-funktionen og sammenkædes inden for et enkelt citat for at forberede en række værdier. Udgangen manipuleres derefter yderligere for at fjerne det sidste tegn for at hente en gyldig streng med inputværdi.,

Output:

1
SELECT ‘(‘+substring(@col,1,len(@col)-1)+’)’

Scalar user-defined function and SQL Coalesce function

A user-defined function is created to return a string specific to the provided input and then the output is grouped using a grouping clause., I det følgende eksempel returnerer den skalære værdsatte funktion de sammenkædede strengværdier adskilt af’, ‘ for en specificeret ‘by’ – indgang. Følgende eksempel returnerer et output, hvor kolonnen tilstand er grupperet og dens byer værdier sammenkædet og adskilt af en skilletegn ‘,’ (komma). Du kan også bruge STRING_AGG, hvis du bruger s .l Server 2017. Du kan henvise til mere information med artiklen Top s .l-strengfunktioner I s .l Server 2017

Her er hvordan vi kalder funktionsnavnet dbo.tfn_CoalesceConcat i select-sætningen.,

The output is a concatenated stream of values separated by a delimiter ‘,’

1
2
3
4

SELECT state, city = dbo.tfn_CoalesceConcat(state)
FROM dbo.,tilstand
GRUPPEN AF tilstand
FOR AF staten;

Data validering ved hjælp af SQL-hånd i hånd funktion

I det følgende eksempel, vi kommer til at finde de nødsituation medarbejder kontakter. Normalt er medarbejderens telefonnumre i enhver organisation opført under arbejds -, hjemme -, mobiltelefonkolonner.

lad os se, hvordan du finder medarbejdere, hvor der ikke er angivet nogen nødkontakter, eller med andre ord, lad os trække alle detaljer om medarbejderen med nødkontakter.,

i det følgende eksempel indeholder tb_EmergencyContact kontaktnumrene for alle medarbejdere.

s .l Coalesce-funktionen bruges til at vælge kolonnerne homephone, workorkphone og mobiltelefon. I tilfælde af NULL-værdier, værdien ‘NA’ (Ikke relevant), returneres en bogstavelig streng.

s .l Coalesce og beregnede kolonner

følgende eksempel bruger S .l COALESCE til at sammenligne værdierne for kolonner timelønning, løn og provision og returnerer kun den ikke-null-værdi, der findes i kolonnerne.,

følgende T-SQL bruges til at liste den samlede løn, der betales til alle medarbejdere

Lad os Nu se på et eksempel for at oprette en beregnet kolonne med SQL hånd i hånd funktion i SQL Server

I almindelighed, at vi kan bruge det udtryk i tabellerne. I tabeller er det nødvendigt at beregne de værdier, der ofte beregnes ved hjælp af flere eksisterende kolonner og med få skalære værdier i tabellen. Disse kolonner er også afhængige af en eller flere andre kolonner., På denne måde kan vi oprette en beregnet kolonne ved hjælp af Coalesce s .l-funktionen, så NULL-værdier håndteres effektivt.

nu Kan du se, at en simpel SELECT-sætning viser de forudberegnede resultater.

s .l COALESCE og CASE e .pression

S .l COALESCE-funktionen kan syntaktisk repræsenteres ved hjælp af CASE-udtrykket. For eksempel, som vi ved, returnerer Coalesce-funktionen de første IKKE-NULL-værdier.,

vælg COALESCE (e .pression1, e .pression2, e .pression3) fra TABLENAME;

ovenstående Coalesce s .l-sætning kan omskrives ved hjælp af CASE-sætningen.,id=”6df95ef3dd”>

1
2
3
4
5
6
7
8
9
10
11
12
VÆLG
fornavn+”+efternavn fullname,
forhold,
SAG
, NÅR homephone er IKKE NULL Så homephone
, NÅR mobiltelefonen IKKE er NULL, Så cellphone
, NÅR workphone er IKKE NULL Så workphone
ELSE ‘NA’
INDIEN
EmergencyContactNumber
FRA
dbx.,tb_emergencycontact

forespørgslen returnerer det samme resultat som det, der bruger COALESCE-funktionen.

Wrap Up

I denne artikel, diskuterede vi nogle tip og tricks til at demonstrere brugen af SQL hånd i hånd funktionen til at søge effektivt med T-SQL. Vi diskuterede også forskellige brugssager af S .l Coalesce-funktionen. Det er også muligt at optimere output ved at oprette en beregnet kolonne.

Jeg håber du har haft denne artikel om Coalesce-funktionen i s .l Server., Du er velkommen til at stille spørgsmål i kommentarerne nedenfor.

  • Forfatter
  • Seneste Indlæg
Jeg er en Database teknolog at have 11+ års rige, hands-on erfaring på Database teknologier. Jeg er Microsoft certificeret professionel og bakkes op med en grad i Master of Computer Application.
Min specialitet ligger i at designe & implementering af løsninger med høj tilgængelighed og DB-Migration på tværs af platforme., De teknologier, der i øjeblikket arbejder på, er s .l Server, Po .ershell, Oracle og MongoDB.,
Vis alle indlæg af Prashanth Jayaram

Seneste indlæg af Prashanth Jayaram (se alle)
  • Et hurtigt overblik over databasen revision i SQL – januar 28, 2021
  • Hvordan man opsætter Azure Data Sync mellem Azure SQL databaser og on-premises SQL Server – 20 januar 2021
  • Hvordan du udfører SQL Azure database Import/Eksport ved hjælp af PowerShell – 14 januar 2021

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *