Problem:
Du vil gerne fjerne en sekvens af tegn i begyndelsen af en streng.
Eksempel:
Vores database har en tabel med navnet produkt
med data i tre kolonner:id , navn og model .
id | navn | model |
---|---|---|
1 | se | Lx0A123 |
2 | smartwatch | Lx0W34 |
3 | urbillede | Lx0G100 |
Lad os trimme modelkoden for hvert nyt produkt og fjerne de unødvendige tegn (Lx0) i begyndelsen.
Løsning 1:
Vi bruger TRIM()
fungere. Her er den forespørgsel, du ville skrive:
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Her er resultatet:
navn | ny_modelkode |
---|---|
se | A123 |
smartwatch | W34 |
urfoto | G100 |
Diskussion:
Brug TRIM()
funktion med LEADING
nøgleord for at fjerne tegn i begyndelsen af en streng. TRIM() giver dig mulighed for at fjerne bestemte tegn eller mellemrum fra begyndelsen, slutningen eller begge ender af en streng. Denne funktion tager følgende argumenter:
- Et valgfrit søgeord, der specificerer slutningen(e), der skal trimmes. Som standard er det
BOTH
, men du kan definereLEADING
(fjern fra begyndelsen) ellerTRAILING
(fjern fra ende). - En streng, der definerer det eller de tegn/mellemrum, du vil fjerne fra strengen (i vores eksempel, sekvensen 'Lx0').
FRA-koden> søgeord. - Strengen/kolonnenavnet, der skal trimmes (i vores eksempel, modellen kolonne).
I vores eksempel ser dette ud som:
TRIM(LEADING 'Lx0' FROM model)