sql >> Databasteknik >  >> RDS >> SQLite

Hur SQLite Trim() fungerar

SQLite trim() funktionen beskär blanksteg eller andra tecken från båda sidor av en sträng.

Funktionen returnerar en kopia av strängen som du tillhandahåller som ett argument, med antingen blanksteg eller andra tecken som specificerats, trimmade från båda sidor.

Syntax

Du kan anropa trim() med antingen ett eller två argument.

trim(X)
trim(X,Y)
  • Om du anger ett argument är det här strängen som ska trimmas. I det här fallet trimmas blanksteg (om något finns) från båda sidor av strängen.
  • Om du anger två argument innehåller det andra argumentet de tecken som ska tas bort från båda sidor av strängen.

Trimma blanksteg

Här är ett exempel för att visa hur man trimmar blanksteg från en sträng.

.mode quote
SELECT trim(' Red Planet ');

Resultat:

'Red Planet'

Som du kan se förblir mittutrymmet intakt. Endast de vänstra och högra utrymmena trimmas.

På första raden ställer jag helt enkelt in läget, och detta är helt orelaterade till trim() funktion.

Jag ställer in läget på "citat" för att göra det lättare att se effekten av exemplet.

Här är den utan trim() funktion:

SELECT ' Red Planet ';

Resultat:

' Red Planet '    

I det här fallet förblir båda utrymmena intakta.

Flera mellanslag

Om det finns flera mellanslag trim() trimmar alla.

SELECT trim('    Red Planet    ');

Resultat:

'Red Planet'     

Trimma andra tecken

trim() funktion accepterar ett valfritt andra argument som låter dig ange vilka tecken som ska trimmas från strängen.

Här är ett exempel på hur du använder den syntaxen.

SELECT trim('---Red---', '-');

Resultat:

'Red'          

Nedan är ett annat exempel. Den här gången anger jag mer än ett tecken att trimma.

SELECT trim('*--Red--*', '-*');

Resultat:

'Red'          

Observera att karaktärerna inte behöver vara i samma ordning. I mitt exempel angav jag -* och detta påverkade både -* och *- .

Skiftlägeskänslighet

Var uppmärksam på skiftlägeskänslighet. Det här är vad som händer om jag använder ett annat skiftläge för en av karaktärerna.

SELECT trim('Big Toe', ' toe');

Resultat:

'Big T'     

Så om jag ville ta bort det andra ordet i det här exemplet skulle jag behöva använda en versal T .

SELECT trim('Big Toe', ' Toe');

Resultat:

'Big'     

Tänk på att detta också tar bort andra ord/strängar som inte nödvändigtvis är hela ordet Toe .

Här är några exempel:

.mode column
SELECT 
  trim('Big SaToe', ' Toe') AS Satoe,
  trim('Big oTe', ' Toe') AS oTe,
  trim('Big Teo', ' Toe') AS Teo;

Resultat:

Satoe       oTe         Teo       
----------  ----------  ----------
Big Sa      Big         Big       

Trim bara den vänstra eller högra delen av strängen

Du kan också använda ltrim() för att trimma bara den vänstra delen av strängen och rtrim() för att trimma precis rätt del.


  1. Migrera en Microsoft Access-databas till SQL Server

  2. Avrundning till 2 decimaler i SQL

  3. Postgresql rekursiv självanslutning

  4. Försöker distribuera Oracle-ADF-applikationen till Tomcat 7