sql >> Databáze >  >> RDS >> Mysql

Jak odstranit úvodní a koncové znaky v MySQL

MySQL má TRIM() funkce, která vám umožní odstranit úvodní a/nebo koncové mezery z řetězce.

Můžete jej také použít k odstranění dalších specifikovaných znaků z obou stran (nebo obou stran) řetězce.

Tento článek vysvětluje, jak odstranit zadané úvodní/koncové znaky z řetězce.

Syntaxe

TRIM() funkci lze použít takto:

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

Nebo takto:

TRIM([remstr FROM] str)

To v podstatě znamená, že můžete odstranit mezery nebo jakýkoli jiný určený znak ze začátku řetězce, konce řetězce nebo z obou stran řetězce.

Můžete tedy zadat BOTH pro oříznutí znaků z obou konců řetězce, nebo můžete použít LEADING pro oříznutí pouze specifikovaných znaků na začátku řetězce. Podobně můžete použít TRAILING k odstranění pouze těchto znaků z konce řetězce.

remstr část je místo, kde zadáváte znak, který se má oříznout, a str část je skutečný řetězec, který je třeba oříznout.

Příklad

Zde je základní příklad odstranění daného znaku z obou stran řetězce:

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

Výsledek:

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

Řetězec je tedy zbaven zadaného znaku na obou stranách řetězce.

Více instancí zadaného znaku

Odstraní více výskytů daného znaku (pokud je v souvislé skupině stejných úvodních/koncových znaků):

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

Výsledek:

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

Odstranit pouze úvodní znaky

Můžete určit, že budou oříznuty pouze úvodní znaky. K tomu použijte LEADING specifikátor:

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

Výsledek:

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

Odstranit pouze znaky na konci

Můžete určit, že budou oříznuty pouze koncové znaky. K tomu použijte TRAILING specifikátor:

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

Výsledek:

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

Odstranění řady znaků

Můžete také určit, že se ořízne pouze určitá řada znaků:

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

Výsledek:

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

Možná jste si všimli, že jsem použil BOTH klíčové slovo v tomto příkladu. Toto je nepovinné. Stejný příkaz by mohl být přepsán bez něj:

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

Výsledek:

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

Další použití TRIM()

Můžete také použít TRIM() k odstranění mezery na konci, k odstranění mezery na začátku nebo k odstranění mezer na začátku i na konci.


  1. Jak MICROSECOND() funguje v MariaDB

  2. Objevte 10 méně známých funkcí SQL Diagnostic Manager

  3. 2 způsoby, jak vrátit pouze číselné hodnoty ze sloupce databáze SQLite

  4. Jak získat maximální a minimální hodnoty z tabulky pomocí agregační funkce - SQL Server / TSQL výukový program, část 129