sql >> Database >  >> RDS >> SQLite

Hoe SQLite Trim() werkt

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.


  1. Hoe u de maand van een datum haalt in MySQL

  2. Wat is het verschil tussen de functies RANK() en DENSE_RANK() in Oracle?

  3. Min vs Behalve Verschil in ORACLE/SQL Server

  4. ORA-00001 unieke beperking geschonden