Problem:
Chcesz usunąć sekwencję znaków na początku ciągu.
Przykład:
Nasza baza danych zawiera tabelę o nazwie product z danymi w trzech kolumnach:id , imię i model .
| id | imię | model |
|---|---|---|
| 1 | oglądaj | Lx0A123 |
| 2 | smartwatch | Lx0W34 |
| 3 | zdjęcie zegara | Lx0G100 |
Skróćmy kod modelu każdego nowego produktu, usuwając niepotrzebne znaki (Lx0) na początku.
Rozwiązanie 1:
Użyjemy TRIM() funkcjonować. Oto zapytanie, które możesz napisać:
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Oto wynik:
| nazwa | nowy_kod_modelu |
|---|---|
| oglądaj | A123 |
| smartwatch | W34 |
| zdjęcie zegara | G100 |
Dyskusja:
Użyj TRIM() funkcja z LEADING słowo kluczowe, aby usunąć znaki na początku ciągu. TRIM() umożliwia usunięcie określonych znaków lub spacji z początku, końca lub obu końców ciągu. Ta funkcja przyjmuje następujące argumenty:
- Opcjonalne słowo kluczowe, które określa końce do przycięcia. Domyślnie jest to
BOTH, ale możesz zdefiniowaćLEADING(usuń od początku) lubTRAILING(usuń z końca). - Ciąg definiujący znak(i)/spację(e), które chcesz usunąć z łańcucha (w naszym przykładzie sekwencja „Lx0”).
FROMsłowo kluczowe.- Nazwa ciągu/kolumny do przycięcia (w naszym przykładzie model kolumna).
W naszym przykładzie wygląda to tak:
TRIM(LEADING 'Lx0' FROM model)