Problem:
Du vill ta bort en sekvens av tecken i början av en sträng.
Exempel:
Vår databas har en tabell som heter produkt
med data i tre kolumner:id , namn och modell .
id | namn | modell |
---|---|---|
1 | titta | Lx0A123 |
2 | smartwatch | Lx0W34 |
3 | klockfoto | Lx0G100 |
Låt oss trimma modellkoden för varje ny produkt och ta bort de onödiga tecknen (Lx0) i början.
Lösning 1:
Vi använder TRIM()
fungera. Här är frågan du skulle skriva:
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Här är resultatet:
namn | ny_modellkod |
---|---|
titta | A123 |
smartwatch | W34 |
klockfoto | G100 |
Diskussion:
Använd TRIM()
funktion med LEADING
nyckelord för att ta bort tecken i början av en sträng. TRIM() låter dig ta bort specifika tecken eller mellanslag från början, slutet eller båda ändarna av en sträng. Den här funktionen tar följande argument:
- Ett valfritt sökord som anger slutet eller sluten som ska trimmas. Som standard är det
BOTH
, men du kan definieraLEADING
(ta bort från början) ellerTRAILING
(ta bort från slutet). - En sträng som definierar de tecken/de tecken/mellanslag som du vill ta bort från strängen (i vårt exempel, sekvensen 'Lx0').
FRÅN sökord. - Sträng-/kolumnnamnet som ska trimmas (i vårt exempel, modellen kolumn).
I vårt exempel ser detta ut så här:
TRIM(LEADING 'Lx0' FROM model)