sql >> Databasteknik >  >> RDS >> Mysql

Hur man tar bort ledande och efterföljande karaktärer i MySQL

MySQL har en TRIM() funktion som gör att du kan ta bort inledande och/eller efterföljande blanksteg från en sträng.

Du kan också använda den för att ta bort andra specificerade tecken från båda sidor (eller båda sidor) av strängen.

Den här artikeln förklarar hur du tar bort angivna inledande/efterföljande tecken från strängen.

Syntax

TRIM() funktionen kan användas så här:

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

Eller så här:

TRIM([remstr FROM] str)

Vad detta i praktiken betyder är att du kan ta bort blanksteg, eller något annat specificerat tecken, från antingen början av strängen, slutet av strängen eller från båda sidor av strängen.

Så du kan ange BOTH för att trimma tecken från båda ändarna av strängen, eller så kan du använda LEADING för att bara trimma de specificerade tecknen i början av strängen. På samma sätt kan du använda TRAILING för att ta bort endast dessa tecken från slutet av strängen.

remstr del är där du anger tecknet som ska trimmas och str del är själva strängen som behöver trimmas.

Exempel

Här är ett grundläggande exempel på hur du tar bort ett givet tecken från båda sidor av en sträng:

SELECT TRIM('=' FROM '=FRESH COOKIES!=') AS Trimmed;

Resultat:

+----------------+
| Trimmed        |
+----------------+
| FRESH COOKIES! |
+----------------+

Så strängen tas bort från det angivna tecknet på båda sidor av strängen.

Flera instanser av det angivna tecknet

Det kommer att ta bort flera instanser av det givna tecknet (så länge det är inom en sammanhängande grupp av samma inledande/efterföljande tecken):

SELECT TRIM('=' FROM '====FRESH COOKIES!====') AS Trimmed;

Resultat:

+----------------+
| Trimmed        |
+----------------+
| FRESH COOKIES! |
+----------------+

Ta endast bort ledande karaktärer

Du kan ange att endast inledande tecken beskärs. För att göra detta, använd LEADING specificator:

SELECT TRIM(LEADING '=' FROM '====FRESH COOKIES!====') AS Trimmed;

Resultat:

+--------------------+
| Trimmed            |
+--------------------+
| FRESH COOKIES!==== |
+--------------------+

Ta endast bort efterföljande tecken

Du kan ange att endast efterföljande tecken beskärs. För att göra detta, använd TRAILING specificator:

SELECT TRIM(TRAILING '=' FROM '====FRESH COOKIES!====') AS Trimmed;

Resultat:

+--------------------+
| Trimmed            |
+--------------------+
| ====FRESH COOKIES! |
+--------------------+

Ta bort en serie tecken

Du kan också ange att endast en specifik serie tecken beskärs:

SELECT TRIM(BOTH '!====' FROM '====FRESH COOKIES!====') AS Trimmed;

Resultat:

+-------------------+
| Trimmed           |
+-------------------+
| ====FRESH COOKIES |
+-------------------+

Du kanske märker att jag använde BOTH nyckelord i detta exempel. Detta är valfritt. Samma uttalande skulle kunna skrivas om utan det:

SELECT TRIM('!====' FROM '====FRESH COOKIES!====') AS Trimmed;

Resultat:

+-------------------+
| Trimmed           |
+-------------------+
| ====FRESH COOKIES |
+-------------------+

Annan användning av TRIM()

Du kan också använda TRIM() för att ta bort efterföljande blanksteg, för att ta bort inledande blanksteg eller för att ta bort både inledande och efterföljande blanksteg.


  1. Del 1:Bildklassificering med MariaDB Server och TensorFlow – en översikt

  2. Oracle lagrad procedur med parametrar för IN-sats

  3. En databasmodell för en onlineundersökning. Del 1

  4. Postgresql rekursiv självanslutning