Функция SUBSTRING в PostgreSQL используется для извлечения части строки по заданным параметрам.
Синтаксис
SUBSTRING(строка FROM начальная_позиция FOR длина)или альтернативный синтаксис:
SUBSTRING(строка, начальная_позиция, длина)строка— исходный текст.начальная_позиция— позиция, с которой начинается извлечение.длина— количество символов, которое нужно извлечь.
Примеры использования
Извлечение части строки
SELECT SUBSTRING('PostgreSQL' FROM 1 FOR 4); -- Результат: 'Post'
SELECT SUBSTRING('PostgreSQL', 1, 4); -- Результат: 'Post'SELECT SUBSTRING('Привет, мир!' FROM 9 FOR 3); -- Результат: 'мир'Использование с таблицами
SELECT id, name, SUBSTRING(name FROM 1 FOR 3) AS short_name FROM users;Этот запрос извлекает первые три символа из каждого имени в таблице users.
Извлечение с использованием регулярных выражений
SELECT SUBSTRING('email@example.com' FROM '^[^@]+'); -- Результат: 'email'Этот пример использует регулярное выражение для извлечения части строки перед символом @.
Особенности
SUBSTRINGподдерживает как позиционное извлечение, так и использование регулярных выражений.- В случае выхода за пределы строки результатом будет пустая строка.
- Если начальная позиция меньше 1, функция вернёт пустую строку.
SELECT SUBSTRING('PostgreSQL' FROM 0 FOR 4); -- Результат: ''