Probleem:
U wilt een reeks tekens aan het begin van een tekenreeks verwijderen.
Voorbeeld:
Onze database heeft een tabel met de naam product
met gegevens in drie kolommen:id , naam , en model .
id | naam | model |
---|---|---|
1 | kijken | Lx0A123 |
2 | smartwatch | Lx0W34 |
3 | klokfoto | Lx0G100 |
Laten we de modelcode van elk nieuw product inkorten en de onnodige tekens (Lx0) aan het begin verwijderen.
Oplossing 1:
We gebruiken de TRIM()
functie. Dit is de vraag die je zou schrijven:
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Dit is het resultaat:
naam | nieuwe_model_code |
---|---|
kijk | A123 |
smartwatch | W34 |
klok foto | G100 |
Discussie:
Gebruik de TRIM()
functie met de LEADING
trefwoord om tekens aan het begin van een tekenreeks te verwijderen. Met TRIM() kunt u specifieke tekens of spatie(s) aan het begin, einde of beide uiteinden van een tekenreeks verwijderen. Deze functie heeft de volgende argumenten:
- Een optioneel trefwoord dat de uiteinden specificeert die moeten worden bijgesneden. Standaard is dit
BOTH
, maar u kuntLEADING
definiëren (verwijderen van begin) ofTRAILING
(verwijder van einde). - Een tekenreeks die het teken/de tekens/spatie(s) definieert die u uit de tekenreeks wilt verwijderen (in ons voorbeeld de reeks 'Lx0').
- De
FROM
zoekwoord. - De tekenreeks/kolomnaam die moet worden bijgesneden (in ons voorbeeld het model kolom).
In ons voorbeeld ziet dit er als volgt uit:
TRIM(LEADING 'Lx0' FROM model)