Разберем функции для получения части строки.
left
left(строка, количество_символов)
- возвращает первые символы в строке.
SELECT left('мама мыла раму', 3)
Если вторым параметром передать отрицательное число, то с конца строки будет откинуто это количество символов:
SELECT left('мама мыла раму', -3)
right
right(строка, количество_символов)
- возвращает переданное количество символов с конца строки.
SELECT right('мама мыла раму', 4)
Если вторым параметром передать отрицательное число, то с начала строки будет откинуто это количество символов:
SELECT right('мама мыла раму', -5)
substring
substring(строка from с_какого_символа for сколько_символов)
- получение определенного количества символов из строки.
SELECT substring('мама мыла раму' from 3 for 5)
Если запросить символов больше, чем есть в строке, то будут возвращены все символы до конца строки:
SELECT substring('мама мыла раму' from 3 for 50)
С какого символа брать подстроку можно не передавать. В этом случае символы будут браться с начала строки (аналог left
):
SELECT substring('мама мыла раму' for 3)
Количество символов можно не передавать. В таком случае будут возвращены все символы до конца строки:
SELECT substring('мама мыла раму' from 5)
substr
substr(строка, с_какого_символа, сколько_символов)
- аналог substring
для тех, кому не нравится писать from
и for
.
SELECT substr('мама мыла раму', 3, 5)
SELECT substr('мама мыла раму', 5)
split_part
split_part(строка, разделитель, какой_элемент_вернуть)
- разбивает строку на подстроки по разделителю и возвращает подстроку с заданным номером.
SELECT split_part('мама мыла раму', ' ', 1)
SELECT split_part('мама мыла раму', ' ', 2)
SELECT split_part('мама мыла раму', ' ', 3)
Если указать индекс несуществующего элемента, то будет возвращена пустая строка ''
.
SELECT split_part('мама мыла раму', ' ', 4)