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 definovatLEADING
(odstranit od začátku) neboTRAILING
(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)