SQL Server 2016 of ouder versies hebben geen ongecompliceerde stringmanipulatiefunctie om zowel de voorloop als de achterliggende ongewenste spaties bij te snijden. Er zijn tijdelijke oplossingen om LTRIM te gebruiken om de voorloopspatie te verwijderen en RTRIM om de achterliggende spatie afzonderlijk te verwijderen. Het goede nieuws is dat de ingebouwde TRIM-functie is geïntroduceerd in de SQL Server 2017-versie, samen met andere stringfuncties zoals translate () en concat_ws (). Deze nieuwe functie verwijdert de spaties aan beide zijden van de string in één handeling en maakt je code schoon.
TRIM () in SQL Server 2017 en hoger
TRIM () functie is geïntroduceerd in SQL Server 2017. In alle vorige versies hebben we alleen LTRIM () om de voorloopspaties uit de string te verwijderen en RTRIM () om de volgspaties te verwijderen. De nieuw geïntroduceerde functie kan worden gebruikt om de ongewenste voorloop- en volgspaties in één keer uit een string te verwijderen. Het kan ook worden gebruikt om andere tekens dan spatie aan het begin en einde van de string te verwijderen.
De ingebouwde TRIM-functie gebruiken
De syntaxis van trim is TRIM (string) . Als u alleen een tekenreeks maakt zonder de tekens FROM te gebruiken, worden de spaties aan beide zijden van de tekenreeks weggesneden. Als je ‘Characters’ FROM gebruikt, dan zal het naar de specifieke karakters aan het begin en einde van de string kijken en ze verwijderen.
Voorbeeld voor het inkorten van alleen ruimte
SELECT TRIM(" My Tec Bits ")/* Result */"My Tec Bits"
Voorbeeld voor het trimmen van tekens
SELECT TRIM( ".! " FROM "@ My Tec Bits !..") AS Result;/* Result */"@ My Tec Bits"
TRIM-equivalent in SQL Server 2016 tot 2005
In SQL Server 2016 en lagere versies, als u de TRIM-functie probeert te gebruiken, krijgt u een foutmelding dat ‘TRIM’ geen herkende ingebouwde functienaam is. Dus in de oudere versies van SQL Server gebruikt het equivalent van de ingebouwde functie de LTRIM en RTRIM samen zoals LTRIM (RTRIM (‘String‘)). Als je denkt dat deze techniek de code lelijk maakt, dan kun je deze methode insluiten in een UDF en deze als volgt gebruiken:
TRIM-equivalent in SQL Server 2000
In versie 2000 van SQL Server u kunt ook LTRIM en RTRIM samen gebruiken om beide kanten bijsnijden te bereiken. Als u geneigd bent om een UDF te maken, dan is er een kleine wijziging ten opzichte van de UDF die we eerder hebben gemaakt. SQL Server 2000 heeft niet het gegevenstype Varchar (Max). We moeten in plaats daarvan het gegevenstype Varchar (8000) gebruiken. De UDF zal er als volgt uitzien: