SUBSTR (Lakehouse v1)
Wyodrębnia z podanego ciągu znaków fragment o określonej liczbie znaków, zaczynając od wskazanej pozycji.
- Formy bez argumentu
lenzwracają podciąg ciągustrzaczynający się na pozycjipos. - Formy z argumentem
lenzwracają podciąg ciągustro długościlenznaków, zaczynający się na pozycjipos.
Dla pos można też użyć wartości ujemnej. W takim przypadku początek podciągu znajduje się pos znaków od końca ciągu, a nie od jego początku. Wartość ujemną można stosować dla pos w każdej formie tej funkcji. Wartość 0 dla pos zwraca pusty ciąg. Pozycja pierwszego znaku w ciągu, z którego wyodrębniany jest podciąg, jest liczona jako 1.
Składnia Analyze
Dział zatytułowany „Składnia Analyze”func.substr(<str>, <pos>, <len>)Przykłady Analyze
Dział zatytułowany „Przykłady Analyze”func.substr('Quadratically', 5, 6)┌────────────────────────────────────┐│ func.substr('Quadratically', 5, 6) │├────────────────────────────────────┤│ ratica │└────────────────────────────────────┘Składnia SQL
Dział zatytułowany „Składnia SQL”SUBSTR(<str>, <pos>)
SUBSTR(<str>, <pos>, <len>)Argumenty
Dział zatytułowany „Argumenty”| Argumenty | Opis |
|---|---|
<str> |
Główny ciąg znaków, z którego są wyodrębniane znaki |
<pos> |
Pozycja (licząc od 1), od której zaczyna się podciąg. Jeśli jest ujemna, liczona jest od końca |
<len> |
Maksymalna długość wyodrębnianego podciągu |
Typ zwracany
Dział zatytułowany „Typ zwracany”VARCHAR
Przykłady SQL
Dział zatytułowany „Przykłady SQL”SELECT SUBSTRING('Quadratically', 5), SUBSTR('Quadratically', 5), MID('Quadratically', 5);
┌─────────────────────────────────────────────────────────────────────────────────────────────────┐│ substring('quadratically' from 5) │ substring('quadratically' from 5) │ mid('quadratically', 5) │├───────────────────────────────────┼───────────────────────────────────┼─────────────────────────┤│ ratically │ ratically │ ratically │└─────────────────────────────────────────────────────────────────────────────────────────────────┘
SELECT SUBSTRING('Quadratically', 5, 6), SUBSTR('Quadratically', 5, 6), MID('Quadratically', 5, 6);
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ substring('quadratically' from 5 for 6) │ substring('quadratically' from 5 for 6) │ mid('quadratically', 5, 6) │├─────────────────────────────────────────┼─────────────────────────────────────────┼────────────────────────────┤│ ratica │ ratica │ ratica │└────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘