Строковые функции
В 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, преобразованную к верхнему регистру |
Ниже приведены более подробные описания всех функций, перечисленных в таблице, с указанием аргументов, типов данных и выполняемых действий.
