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)