De SQLite trim()
functie snijdt witruimte of andere tekens van beide kanten van een tekenreeks af.
De functie retourneert een kopie van de tekenreeks die u als argument opgeeft, met spaties of andere tekens zoals gespecificeerd, aan beide zijden bijgesneden.
Syntaxis
U kunt trim()
. aanroepen met één of twee argumenten.
trim(X)
trim(X,Y)
- Als u één argument opgeeft, is dit de tekenreeks die moet worden bijgesneden. In dit geval wordt de witruimte bijgesneden (indien aanwezig) aan beide zijden van de tekenreeks.
- Als u twee argumenten opgeeft, bevat het tweede argument de tekens die aan beide zijden van de tekenreeks moeten worden verwijderd.
Witruimte bijsnijden
Hier is een voorbeeld om te demonstreren hoe u witruimte van een tekenreeks afsnijdt.
.mode quote
SELECT trim(' Red Planet ');
Resultaat:
'Red Planet'
Zoals je kunt zien, blijft de middelste ruimte intact. Alleen de linker- en rechterruimte worden bijgesneden.
In de eerste regel stel ik gewoon de modus in, en dit staat volledig los van de trim()
functie.
Ik heb de modus ingesteld op "aanhalingsteken" om het effect van het voorbeeld gemakkelijker te kunnen zien.
Hier is het zonder de trim()
functie:
SELECT ' Red Planet ';
Resultaat:
' Red Planet '
In dit geval blijven beide spaties intact.
Meerdere ruimtes
Als er meerdere spaties zijn trim()
trimt ze allemaal.
SELECT trim(' Red Planet ');
Resultaat:
'Red Planet'
Andere tekens inkorten
De trim()
functie accepteert een optioneel tweede argument waarmee je kunt specificeren welk(e) karakter(s) je wilt trimmen uit de string.
Hier is een voorbeeld van het gebruik van die syntaxis.
SELECT trim('---Red---', '-');
Resultaat:
'Red'
Hieronder staat nog een voorbeeld. Deze keer geef ik meer dan één teken op om te trimmen.
SELECT trim('*--Red--*', '-*');
Resultaat:
'Red'
Merk op dat de karakters niet in dezelfde volgorde hoeven te staan. In mijn voorbeeld heb ik -*
. opgegeven en dit had invloed op zowel -* en *- .
Hoofdlettergevoeligheid
Houd rekening met hoofdlettergevoeligheid. Dit is wat er gebeurt als ik een ander geval voor een van de personages gebruik.
SELECT trim('Big Toe', ' toe');
Resultaat:
'Big T'
Dus als ik het tweede woord in dit voorbeeld wil verwijderen, moet ik een hoofdletter T gebruiken .
SELECT trim('Big Toe', ' Toe');
Resultaat:
'Big'
Houd er rekening mee dat hierdoor ook andere woorden/tekenreeksen worden verwijderd die niet noodzakelijk het volledige woord Toe zijn .
Hier zijn enkele voorbeelden:
.mode column
SELECT
trim('Big SaToe', ' Toe') AS Satoe,
trim('Big oTe', ' Toe') AS oTe,
trim('Big Teo', ' Toe') AS Teo;
Resultaat:
Satoe oTe Teo ---------- ---------- ---------- Big Sa Big Big
Alleen het linker- of rechterdeel van de snaar bijsnijden
U kunt ook ltrim()
. gebruiken om alleen het linkergedeelte van de tekenreeks bij te snijden, en rtrim()
om precies het juiste deel bij te snijden.