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)