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

Jak odstranit nežádoucí úvodní znaky z řetězce v MySQL

Problém:

Chcete odstranit sekvenci znaků na začátku řetězce.

Příklad:

Naše databáze obsahuje tabulku s názvem product s údaji ve třech sloupcích:id , jméno a model .

id jméno model
1 sledovat Lx0A123
2 chytré hodinky Lx0W34
3 foto hodin Lx0G100

Pojďme oříznout modelový kód každého nového produktu a odstranit nepotřebné znaky (Lx0) na jeho začátku.

Řešení 1:

Použijeme TRIM() funkce. Zde je dotaz, který byste napsali:

SELECT name, 
  TRIM(LEADING 'Lx0' FROM model ) AS new_model_code
FROM product;

Zde je výsledek:

name new_model_code
sledovat A123
chytré hodinky W34
foto hodin G100

Diskuse:

Použijte TRIM() pomocí funkce LEADING klíčové slovo pro odstranění znaků na začátku řetězce. TRIM() umožňuje odstranit konkrétní znak(y) nebo mezeru(y) ze začátku, konce nebo obou konců řetězce. Tato funkce má následující argumenty:

  • Volitelné klíčové slovo, které určuje konce, které se mají oříznout. Ve výchozím nastavení je to BOTH , ale můžete definovat LEADING (odstranit od začátku) nebo TRAILING (odstranit z konce).
  • Řetězec definující znak(y)/mezery, které chcete z řetězce odstranit (v našem příkladu sekvence ‚Lx0‘).
  • FROM klíčové slovo.
  • Název řetězce/sloupce, který se má oříznout (v našem příkladu model sloupec).

V našem příkladu to vypadá takto:

TRIM(LEADING 'Lx0' FROM model)

  1. Zobrazuje se Došlo k pokusu o načtení programu s chybou nesprávného formátu v projektu replikace SQL Server

  2. Parametrizovaný dotaz ..... očekává parametr '@units', který nebyl zadán

  3. Zpracování časového pásma ve webové aplikaci

  4. MySqlCommand Command.Parameters.Add je zastaralý