SQLShack (Nederlands)

In dit artikel bespreken we de nieuwe SQL TRIM-functie in SQL Server vanaf 2017 en biedt ook wat informatie over stringsfuncties die dateren van vóór het, zoals LTRIM EN RTRIM.

SQL-ontwikkelaars hebben meestal te maken met problemen met spaties aan het begin en / of einde van een tekenreeks. Het kan zijn dat we voorloop- en volg-tekens uit een tekenreeks moeten bijsnijden. Mogelijk moeten we ook stringmanipulaties uitvoeren met SQL-functies. Stel dat we spaties aan het einde van een string willen verwijderen, dan zouden we SQL LTRIM- en RTRIM-functies moeten gebruiken tot SQL Server 2016.

In SQL Server 2017 krijgen we een nieuwe ingebouwde functie om trim zowel voorloop- als volglettertekens samen met een enkele functie. SQL TRIM-functie biedt extra functionaliteit voor het verwijderen van tekens uit de opgegeven tekenreeks. We kunnen nog steeds de RTRIM- en LTRIM-functie gebruiken met SQL Server 2017. Laten we deze functies onderzoeken met voorbeelden.

SQL LTRIM-functie

Het verwijdert tekens vanaf het begin (beginnend vanaf de linkerkant) van de opgegeven tekenreeks. In de volgende query hebben we witruimte voor en na de string. We moeten ruimte aan de linkerkant van de string verwijderen met behulp van de LTRIM-functie.

We gebruiken de functie SQL DATALENGTH () om de datalengte in bytes te berekenen voor en na het gebruik van de SQL LTRIM-functie.

  • Grootte van gegevensstring in bytes voor originele tekenreeks: 24
  • Grootte van gegevensstring in bytes na SQL LTRIM: 18

SQL RTRIM-functie

Het verwijdert tekens aan het einde ((vanaf de rechterkant) van de opgegeven tekenreeks. Laten we de volgende query uitvoeren om het effect van de SQL RTRIM-functie te bekijken.

  • Grootte van gegevensstring in bytes voor oorspronkelijke tekenreeks: 24
  • Grootte van gegevensstring in bytes na SQL RTRIM: 16

TRIM-functie in SQL Server 2017

Vóór SQL Server 2017, als we zowel Leading- als Training-spaties moeten verwijderen, moeten we zowel de LTRIM- als de RTRIM-functie gebruiken. In de volgende query , we gebruikten zowel LTRIM- als RTIM-functies met een stringvariabele.

In de volgende schermafbeelding kunnen we zien dat het zowel voorloop als tra iling ruimte van de string.

  • Grootte van gegevensstring in bytes voor originele tekenreeks: 24
  • Grootte van gegevensstring in bytes na SQL LTRIM: 11

  • Grootte van gegevensstring in bytes voor originele tekenreeks: 25
  • Grootte van gegevensstring in bytes na SQL LTRIM en RTRIM: 11

We hebben twee functies nodig om de spaties uit de string te verwijderen. We kunnen een enkele instantie van een TRIM-functie in SQL Server 2017 en hoger gebruiken om zowel voorloop- als volg-tekens bij te snijden. Laten we de TRIM-functie eens nader bekijken in een verder gedeelte van dit artikel.

De syntaxis van de TRIM-functie

1

TRIM (string)

  • TrimCharacter: we kunnen het teken specificeren dat uit de string moet worden verwijderd. Standaard verwijdert SQL Server spaties aan beide zijden van een string.
  • String: we moeten de string specificeren die we willen trimmen

Laten we de SQL TRIM-functie verkennen met voorbeelden.

TRIM Leading en Training Spaties:

Standaard verwijdert de Trim-functie de spatie aan beide zijden van een string. In de volgende query moeten we een string definiëren met een spatie aan beide zijden van de string.

Voer deze zoekopdracht uit:

We hebben geen tekens gespecificeerd om te verwijderen in de TRIM-functie. In de uitvoer verwijdert de SQL TRIM-functie zowel voorloop- als volgspatie.

U kunt ook het verschil in stringlengte voor en na de TRIM-functie opmerken.

  • Grootte van gegevensstring in bytes voor originele tekenreeks: 24
  • Grootte van gegevensstring in bytes na SQL TRIM: 11

TRIM Voorloopkarakters van een string:

In het vorige voorbeeld hebben we onderzocht dat SQL TRIM de vervanging is van RTRIM en LTRIM en het elimineert om alle spaties voor en na een string te verwijderen. We kunnen de karakters ook uit de string verwijderen met TRIM. Stel dat we karakter ON uit de string willen verwijderen, dan kunnen we het specificeren in de TRIM-functie volgens het volgende script.

Het controleert de gespecificeerde karakters aan zowel de voorste als achterste zijde en verwijdert de specifieke karakters. In de tekenreeks Toepassing hebben we teken AAN aan de voorkant. In de volgende schermafbeelding kunt u de uitvoer bekijken na de TRIM-functie.

  • Grootte van gegevensstring in bytes voor originele string: 11
  • Grootte van de datastring in bytes na SQL TRIM: 9

Laten we nog een voorbeeld bekijken. Deze keer willen we de karakters App van de voorkant verwijderen. We hoeven geen wijzigingen aan te brengen in het script. We kunnen het te verwijderen teken specificeren met behulp van SQL TRIM, en het geeft de vereiste uitvoer.

  • Grootte van datastring in bytes voor originele tekenreeks: 11
  • Grootte van gegevensstring in bytes na SQL TRIM: 8

In eerdere voorbeelden hebben we het teken verwijderd uit het voorste of achterste uiteinde . Als we aan beide kanten een karakter hebben, worden deze ook verwijderd.

In het volgende voorbeeld willen we karakter A verwijderen dat aan beide kanten van de string staat. Voer het script uit en het verwijdert de opgegeven tekens van beide kanten.

  • Grootte van de gegevensreeks in bytes voor origineel String: 12
  • Grootte van gegevensstring in bytes na SQL TRIM: 10

Stel dat we een teken hebben gespecificeerd dat niet aanwezig is in de tekenreeks. In het volgende voorbeeld willen we teken A en C verwijderen uit de voor- of achterkant. We hebben geen teken C aan beide kanten, dus het verwijdert het niet. Het verwijdert alleen teken A en geeft de uitvoer.

  • Grootte van gegevensstring in bytes voor originele tekenreeks: 12
  • Grootte van gegevensstring in bytes na SQL TRIM: 10

TRIM voor records in een tabel

In het vorige artikel hebben we een variabele gebruikt om een string te definiëren en er een SQL TRIM-bewerking op uit te voeren. Gewoonlijk hebben we het gebruik van TRIM op tafelrecords nodig. Laten we het in het volgende voorbeeld gebruiken.

In de volgende voorbeelden is het teken R verwijderd uit de tekenreeks aan de voor- en achterkant.

We kunnen de SQL TRIM-functie ook gebruiken in de Update-instructie. Stel dat we alle records in de Werknemer-tabel willen bijwerken en de tekens Manager uit JobTitile willen verwijderen.

Het behandelt de Manager niet als een enkel woord. Trim-functie controleert voor elk teken in de string en verwijdert het.

We kunnen komma (,) gebruiken om elk teken te scheiden ook.

Het doet ook hetzelfde werk en verwijdert specifieke tekens uit de tekenreeks aan de voor- en achterkant.

Conclusie

In dit artikel hebben we de SQL TRIM-functie met SQL Server 2017 en hoger onderzocht. We leerden ook over de TRIM-functies LTRIM en RTRIM die ook beschikbaar zijn op of vóór SQL Server 2016.

Afhankelijk van de versie van SQL Server die u gebruikt, moet u deze functies begrijpen en bekend zijn met de concepten. Ik hoop dat je dit artikel nuttig vindt. Voel je vrij om feedback te geven of vragen te stellen in de reacties hieronder.

  • Auteur
  • Recente berichten
Als MCSA-gecertificeerde en Microsoft-gecertificeerde trainer in Gurgaon, India, met 13 jaar ervaring, werkt Rajendra voor een verscheidenheid aan grote bedrijven die zich richten op prestatie-optimalisatie, monitoring, hoge beschikbaarheid en noodherstelstrategieën en implementatie. Hij is de auteur van honderden gezaghebbende artikelen over SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git en gerelateerde technologieën die tot nu toe door meer dan 10 miljoen lezers zijn bekeken.
Hij is de maker van een van de grootste gratis online collecties met artikelen over een enkel onderwerp, met zijn 50-delige serie over SQL Server Always On Availability Groups. Op basis van zijn bijdrage aan de SQL Server-gemeenschap, is hij bekroond met verschillende prijzen, waaronder de prestigieuze “Beste auteur van het jaar”, continu in 2020 en 2021 bij SQLShack.
Raj is altijd geïnteresseerd in nieuwe uitdagingen, dus als je advies nodig hebt hulp bij elk onderwerp dat in zijn geschriften aan bod komt, hij is te bereiken op [email protected]
Bekijk alle berichten van Rajendra Gupta

Laatste berichten door Rajendra Gupta (bekijk alle)
  • Kleine en grote versie-upgrades uitvoeren voor AWS RDS SQL Server – 29 januari 2021
  • Implementatie van AWS RDS PostgreSQL-instanties – 27 januari 2021
  • Migratie van uw on-premises SQL-databases naar AWS RDS SQL Server met behulp van AWS DMS – 25 januari , 2021

Geef een reactie

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