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”).
FROM
sł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)