SQLShack (Nederlands)

Dit artikel verkent de string manipulatie met behulp van SQL Coalesce functie in SQL Server.

String manipulatie is een proces om een andere vorm van bestaande gegevens te genereren op een manier die het bedrijf gebruikt of weergegeven als resultaten in de rapporten. Vorige SQL string functie artikelen, heb ik geschreven, met inbegrip van SQL string functies voor data Munging en SQL Substring functie overzicht besproken data voorbereiding en data management taken met behulp van ingebouwde SQL Server string functies.,

SQL server heeft ook enkele ingebouwde karakterfuncties die ons ook in staat stellen om data te manipuleren en te transformeren. Tegelijkertijd is het belangrijk om dataset te onderzoeken, gegevenswaarden te verkennen en de waarden te coderen of te decoderen, indien nodig, om zinvolle gegevens te genereren. Het is belangrijk om te weten hoe te navigeren door ontbrekende waarden in onze datasets, inzicht in de impact op berekeningen, query ‘ s, rapporten en data-set voorbereiding en het bedenken van technieken om te voorkomen dat Null waarden ruïneren onze resultsets.

Wat is een nulwaarde?,

voordat we dieper ingaan op hoe we door het potentiële mijnenveld van datasets met ontbrekende waarden kunnen navigeren en vermijden dat we op een Null stappen, laten we eerst even snel kijken naar wat een NULL is.

zoals gedefinieerd door Wikipedia

Null (of NULL) is een speciale marker gebruikt in gestructureerde Query taal om aan te geven dat een gegevenswaarde niet bestaat in de database. Geà ntroduceerd door de maker van het relationele databasemodel, E. F., Codd, SQL Null dient om te voldoen aan de eis dat alle echte relationele database management systemen (RDBMS) ondersteunen een weergave van “ontbrekende informatie en niet-toepasbare informatie”. Codd introduceerde ook het gebruik van de kleine letters Griekse Omega (ω) symbool om nul te vertegenwoordigen in de database theorie. In SQL is NULL een gereserveerd woord dat gebruikt wordt om deze marker te identificeren. … Dit moet niet worden verward met een waarde van 0. Een nulwaarde geeft een gebrek aan een waarde aan — een gebrek aan een waarde is niet hetzelfde als een waarde van nul op dezelfde manier dat een gebrek aan een antwoord niet hetzelfde is als een antwoord van “nee”.,

verder …

SQL null is een toestand, geen waarde. Dit gebruik is heel anders dan de meeste programmeertalen, waar null waarde van een referentie betekent dat het niet naar een object wijst.

SQL biedt een aantal handige functionaliteit voor het werken met uw karakter data in uw SQL queries die we in detail zullen beschrijven

SQL Coalesce functie

De SQL Coalesce en IsNull functies worden gebruikt om NULL waarden af te handelen. Tijdens het expressieevaluatieproces worden de NULL-waarden vervangen door de door de gebruiker gedefinieerde waarde.,

De SQL Coalesce functie evalueert de argumenten in volgorde en retourneert altijd de eerste niet-null waarde uit de lijst met gedefinieerde argumenten.

Syntax

SAMENVALLEN ( uitdrukking )

Eigenschappen van de SQL-Samenvoeg functie

  1. Expressies moeten van dezelfde gegevens-type
  2. Het kan bevatten meerdere expressies
  3. De SQL-Samenvoeg functie is een syntactische snelkoppeling voor de Case-expressie
  4. Altijd evalueert voor een integer een geheel getal gevolgd door het teken expressie opbrengst geheel getal als uitvoer.,

voorbeelden:

SQL samensmelten in een string concatenation operatie

In het volgende voorbeeld gaan we enkele waarden samenvoegen. Maar nogmaals, het is gewoon een beoordeling om u te laten weten wat er gebeurt als we een NULL-waarde hebben. Dus, laten we doorgaan en de T-SQL uitvoeren. En we kunnen zien dat we een NULL-waarde tegenkomen tijdens het verwerken van string concatenation operatie. SQL server retourneert gewoon NULL wanneer het NULL waarde tegenkomt. Het resultaat is Geen combinatie van voornaam, null en achternaam.,

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., Dus, in dit geval, gebruik de coalesce SQL functie om elke middelste naam NULL waarden te vervangen door een waarde ” (Char (13) – spatie). Het SQL statement moet nog steeds alle drie de namen samenvoegen, maar er zullen geen NULL-waarden worden weergegeven in de uitvoer. We zien nu dat de volledige naam wordt weergegeven met een spatie in het midden, voor NULL waarden. Op deze manier is het mogelijk om de kolomwaarden efficiënt aan te passen.,

1
SELECTEER voornaam +’ ‘+SAMENVALLEN(MiddleName,”) +’ ‘+ Achternaam VAN de Persoon.Persoon

SQL Coalesce function and pivoting

het volgende voorbeeld geeft de samengevoegde niet-null waarden uit de tabel ‘state’. In sommige gevallen moet u mogelijk de samengevoegde statische waarden aan een variabele toewijzen., In dit geval worden de waarden van de kolom stad ontleed met behulp van de Coalesce SQL-functie en samengevoegd binnen een enkel citaat om een reeks waarden voor te bereiden. De uitvoer wordt vervolgens verder gemanipuleerd om het laatste teken te verwijderen om een geldige tekenreeks van invoerwaarde op te halen.,

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., In het volgende voorbeeld retourneert de scalar valued functie de aaneengeschakelde tekenreekswaarden gescheiden door ‘,’ voor een opgegeven ‘City’ invoer. Het volgende voorbeeld geeft een uitvoer terug waarbij de statuskolom is gegroepeerd en de waarden van de steden worden samengevoegd en gescheiden door een scheidingsteken ‘,’ (komma). U kunt ook STRING_AGG gebruiken als u SQL Server 2017 gebruikt. U kunt meer informatie verwijzen met het artikel Top SQL string functies in SQL Server 2017

Hier is hoe we de functie naam dbo noemen.tfn_CoalesceConcat in het SELECT statement.,

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.,toestand
groep per toestand
volgorde per toestand;

gegevensvalidatie met behulp van SQL Coalesce functie

in het volgende voorbeeld, we gaan de Emergency employee contacten te vinden. Meestal worden in elke organisatie de telefoonnummers van de werknemer vermeld onder werk, thuis, mobiele telefoonkolommen.

laten we kijken hoe we werknemers kunnen vinden waar geen noodcontacten staan vermeld of, met andere woorden, Laten we alle details van de werknemer met noodcontacten opvragen.,

in het volgende voorbeeld bevat het tb_EmergencyContact de contactnummers van alle werknemers.

De SQL Coalesce functie wordt gebruikt om de kolommen homephone, werkphone en mobiele telefoon te selecteren. In het geval van NULL-waarden, de waarde ” NA ” (niet van toepassing), wordt een letterlijke tekenreeks geretourneerd.

SQL Coalesce en berekende kolommen

het volgende voorbeeld gebruikt SQL COALESCE om de waarden van de kolommen uurwaarde, salaris en commissie te vergelijken en alleen de niet-null waarde in de kolommen terug te geven.,

de volgende T-SQL wordt gebruikt om het totale salaris te tonen dat aan alle werknemers wordt betaald

nu, laten we een voorbeeld zien om een berekende kolom te maken met SQL Coalesce functie in SQL Server

in het algemeen moeten we de uitdrukking in de tabellen gebruiken. In tabellen is het nodig om de waarden te berekenen die vaak worden berekend met behulp van verschillende bestaande kolommen en met weinig scalaire waarden van de tabel. Ook zijn deze kolommen afhankelijk van een of meer andere kolommen., Op deze manier kunnen we een berekende kolom maken met behulp van de Coalesce SQL-functie, zodat NULL-waarden efficiënt worden afgehandeld.

nu kunt u zien dat een eenvoudig SELECT statement de vooraf berekende resultaten weergeeft.

SQL COALESCE en CASE expression

De SQL COALESCE functie kan syntactisch worden weergegeven met behulp van de CASE expression. Zoals we bijvoorbeeld weten, retourneert de Coalesce functie de eerste niet-nulwaarden.,

Select COALESCE (expression1, expression2, expression3) FROM TABLENAME;

het bovenstaande Coalesce SQL statement kan worden herschreven met behulp van de CASE statement.,id=”6df95ef3dd”>

1
2
3
4
5
6
7
8
9
10
11
12

SELECTEER
voornaam+”+achternaam fullname,
relatie,
CASE
WANNEER telefoonprivé NIET NULL is Dan telefoonprivé
WANNEER de mobiele telefoon is NIET leeg Dan cellphone
WANNEER tel.nr wordt NIET NULL is Dan tel.nr
ANDERS ‘NA’
INDIA
EmergencyContactNumber
VAN de
dbx.,tb_EmergencyContact

de query geeft hetzelfde resultaat als degene die de COALESCE functie gebruikt.

Wrap Up

In dit artikel hebben we enkele tips en trucs besproken om het gebruik van de SQL Coalesce functie aan te tonen om effectief te query met de T-SQL. We bespraken ook verschillende use-cases van de SQL Coalesce functie. Het is ook mogelijk om de output te optimaliseren door het creëren van een berekende kolom.

Ik hoop dat je genoten hebt van dit artikel over de Coalesce functie in SQL Server., Stel gerust vragen in de commentaren hieronder.

  • Auteur
  • Laatste Berichten
Ik ben een Database technoloog met 11+ jaar van rijke, hands-on ervaring in Database technologieën. Ik ben Microsoft gecertificeerd Professional en ondersteund met een diploma in Master of Computer Application.
mijn specialiteit ligt in het ontwerpen van & implementeren van High availability oplossingen en cross-platform DB migratie., De technologieën die momenteel werken aan zijn SQL Server, PowerShell, Oracle en MongoDB.,
Bekijk alle berichten van Prashanth Jayaram

Laatste berichten door Prashanth Jayaram (zie all)
  • Een overzicht van de audit database in SQL – 28 januari 2021
  • het instellen van Azure Data Sync tussen Azure SQL-databases en lokale SQL Server – 20 januari 2021
  • het uitvoeren van SQL Azure database Import/Export activiteiten met behulp van PowerShell – 14 januari 2021

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *