Строковые функции
В PostgreSQL существует множество разнообразных строковых функций, предназначенных для форматирования, анализа и сравнения строк. К их числу относятся как функции стандарта SQL92, так и нестандартные расширения PostgreSQL (например, Itrim(), rtrim() и substr()). Строковые функции PostgreSQL перечислены в табл. 5.10. В общем случае все, что говорится о типе text, в равной степени относится к значениям типа character и varchar.
Таблица 5.10. Строковые функции.
Функция | Описание |
---|---|
ascii(s) | Возвращает ASCII-код символа, переданного в виде строковой переменной s |
btrim(s [, t]) | Возвращает строку s, в начале и в конце которой удалены все символы, входящие в строку t (если аргумент t не задан, усекаются начальные и конечные пропуски – пробелы, символы табуляции и т. д.) |
char length(s) | Возвращает длину строки s в символах |
chr(n) | Возвращает символ с ASCII-кодом n |
s ilike(f) | Возвращает true, если выражение f совпадает (без учета регистра символов) с s |
imtcap(s) | Возвращает строку s, в которой первая буква каждого слова преобразуется к верхнему регистру |
length(s) | Возвращает длину строки s в символах |
s like(f) | Возвращает true, если выражение f совпадает с s |
lower (s) | Возвращает строку s, преобразованную к нижнему регистру |
lpad(s .n [ .c]) | Возвращает строку s, дополненную слева содержимым строки с (или пробелами, если аргумент с не задан) до длины n (или усеченную справа до n символов) |
ltrim(s [ .f]) | Возвращает строку s, в начале которой удалены все символы, входящие в строку f (если аргумент f не задан, усекаются начальные пропуски – пробелы, символы табуляции и т. д.) |
octet_length(s) | Возвращает длину строки s в байтах |
position(b IN s) | Возвращает позицию подстроки b в строке s (отсчет начинается с 1) |
repeat (s, n) | Возвращает строку s, повторенную n раз |
rpad(s .n. [ .c]) | Возвращает строку s, дополненную справа содержимым строки с (или пробелами, если аргумент с не задан) до длины n (или усеченную слева до n символов) |
rtrim(s [ .f]) | Возвращает строку s, в конце которой удалены все символы, входящие в строку f (если аргумент f не задан, усекаются конечные пропуски – пробелы, символы табуляции и т. д.) |
strpos(s .b) | Возвращает позицию подстроки b в строке s (отсчет начинается с 1). Относится к числу функций PostgreSQL и дублирует функцию SQL position(), но с передачей аргументов в стиле С |
substr(s .b [. 1]) | Выделяет из строки s подстроку, начинающуюся с позиции n (отсчет начинается с 1). Необязательный аргумент 1 определяет максимальную длину подстроки в символах |
substring (FROM n FOR 1) | Выделяет из строки s подстроку, начинающуюся с позиции n (отсчет начинается с 1). Необязательный аргумент 1 определяет максимальную длину подстроки в символах |
to_ascii (s .f) | Возвращает строку s, преобразованную из расширенной кодировки f в ASCII |
translate(s .f .r) | Возвращает строку s, в которой все символы, входящие в строку f, заменяются соответствующими символами строки г |
trim (направление f FROM s) | Возвращает строку s, в начале и/или в конце которой удалены все символы, входящие в строку f. В аргументе направление передается ключевое слово SQL, определяющее направление усечения (LEADING, TRAILING или BOTH) |
upper(s) | Возвращает строку s, преобразованную к верхнему регистру |
Ниже приведены более подробные описания всех функций, перечисленных в таблице, с указанием аргументов, типов данных и выполняемых действий.