sql >> Database teknologi >  >> RDS >> Mysql

Sådan fjerner du ledende og efterfølgende tegn i MySQL

MySQL har en TRIM() funktion, der giver dig mulighed for at fjerne indledende og/eller efterstillede mellemrum fra en streng.

Du kan også bruge den til at fjerne andre specificerede tegn fra begge sider (eller begge sider) af strengen.

Denne artikel forklarer, hvordan du fjerner angivne indledende/efterfølgende tegn fra strengen.

Syntaks

TRIM() funktionen kan bruges på denne måde:

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

Eller sådan her:

TRIM([remstr FROM] str)

Hvad dette effektivt betyder, er, at du kan fjerne mellemrum eller ethvert andet specificeret tegn fra enten starten af ​​strengen, slutningen af ​​strengen eller fra begge sider af strengen.

Så du kan angive BOTH at trimme tegn fra begge ender af strengen, eller du kan bruge LEADING for kun at trimme de angivne tegn i starten af ​​strengen. Ligeledes kan du bruge TRAILING for kun at fjerne disse tegn fra slutningen af ​​strengen.

remstr del er, hvor du angiver det tegn, der skal trimmes, og str del er den faktiske streng, der skal trimmes.

Eksempel

Her er et grundlæggende eksempel på fjernelse af et givet tegn fra begge sider af en streng:

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

Resultat:

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

Så strengen fjernes for det angivne tegn på begge sider af strengen.

Flere forekomster af det specificerede tegn

Det vil fjerne flere forekomster af det givne tegn (så længe det er inden for en sammenhængende gruppe af de samme indledende/efterfølgende tegn):

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

Resultat:

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

Fjern kun ledende karakterer

Du kan angive, at kun ledende tegn trimmes. For at gøre dette skal du bruge LEADING specifikation:

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

Resultat:

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

Fjern kun efterfølgende tegn

Du kan angive, at kun de efterfølgende tegn trimmes. For at gøre dette skal du bruge TRAILING specifikation:

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

Resultat:

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

Fjern en serie af tegn

Du kan også angive, at kun en specifik serie af tegn trimmes:

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

Resultat:

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

Du bemærker måske, at jeg brugte BOTH nøgleord i dette eksempel. Dette er valgfrit. Den samme erklæring kunne omskrives uden den:

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

Resultat:

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

Anden brug af TRIM()

Du kan også bruge TRIM() for at fjerne bagerste mellemrum, for at fjerne indledende mellemrum eller for at fjerne både indledende og efterstillede mellemrum.


  1. Konverter latin1-tegn på en UTF8-tabel til UTF8

  2. Sådan fungerer INSTR()-funktionen i MySQL

  3. Afbødende indeksfragmentering

  4. MySQL-syntaks til Join Update