sql >> Database >  >> RDS >> Mysql

Voorloop- en volgtekens verwijderen in MySQL

MySQL heeft een TRIM() functie waarmee u voorloop- en/of volgspaties uit een tekenreeks kunt verwijderen.

Je kunt het ook gebruiken om andere gespecificeerde tekens van beide kanten (of beide kanten) van de tekenreeks te verwijderen.

In dit artikel wordt uitgelegd hoe u gespecificeerde voorloop-/aflooptekens uit de tekenreeks verwijdert.

Syntaxis

De TRIM() functie kan als volgt worden gebruikt:

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

Of zoals dit:

TRIM([remstr FROM] str)

Wat dit in feite betekent, is dat u witruimte of elk ander gespecificeerd teken kunt verwijderen vanaf het begin van de tekenreeks, het einde van de tekenreeks of van beide zijden van de tekenreeks.

U kunt dus BOTH . specificeren om tekens aan beide uiteinden van de tekenreeks bij te snijden, of u kunt LEADING . gebruiken om alleen de opgegeven tekens aan het begin van de tekenreeks bij te snijden. Op dezelfde manier kunt u TRAILING . gebruiken om alleen die tekens aan het einde van de tekenreeks te verwijderen.

De remstr deel is waar je het teken specificeert dat moet worden bijgesneden, en de str deel is de eigenlijke string die moet worden bijgesneden.

Voorbeeld

Hier is een eenvoudig voorbeeld van het verwijderen van een bepaald teken aan beide kanten van een tekenreeks:

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

Resultaat:

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

De string wordt dus ontdaan van het opgegeven teken aan beide zijden van de string.

Meerdere exemplaren van het opgegeven teken

Het zal meerdere instanties van het gegeven teken verwijderen (zolang het zich binnen een aaneengesloten groep van dezelfde voorloop-/achtertekens bevindt):

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

Resultaat:

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

Alleen voorlooptekens verwijderen

U kunt opgeven dat alleen voorlooptekens worden bijgesneden. Gebruik hiervoor de LEADING specificatie:

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

Resultaat:

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

Alleen achterste tekens verwijderen

U kunt opgeven dat alleen volgtekens worden bijgesneden. Gebruik hiervoor de TRAILING specificatie:

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

Resultaat:

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

Een reeks tekens verwijderen

U kunt ook specificeren dat alleen een specifieke reeks tekens wordt bijgesneden:

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

Resultaat:

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

Het is je misschien opgevallen dat ik de BOTH . heb gebruikt trefwoord in dit voorbeeld. Dit is optioneel. Dezelfde verklaring zou zonder deze kunnen worden herschreven:

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

Resultaat:

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

Andere toepassingen van TRIM()

U kunt ook TRIM() . gebruiken om volgspatie te verwijderen, voorloopspatie te verwijderen of om zowel voorloop- als volgspatie te verwijderen.


  1. Converteer maandnummer naar maandnaam in PostgreSQL

  2. Voorbeeld van het gebruik van bind_result versus get_result

  3. PostgreSQL 11 upgraden naar PostgreSQL 12 zonder downtime

  4. MySQL Foreign Key Error 1005 errno 150 primaire sleutel als externe sleutel