Строковые функции
position()
Синтаксис:
position(b IN s)
Функция SQL92 position() получает два аргумента, относящихся к типу text, и возвращает начальную позицию подстроки b в строке s (отсчет начинается с 1). Возвращаемое значение относится к типу integer. Если подстрока не найдена, функция возвращает 0.
Пример:
booktown=# SELECT title, positiorK'the' IN title) AS the_pos booktown-# FROM books booktown-# WHERE positionCthe1 IN title)!= 0: title | the_pos The Cat in the Hat | 12 Bartholomew and the Oobleck | 17 Franklin in the Dark 13 (3 rows)
repeat()
Синтаксис:
repeat(s .n)
Функция repeat () получает два аргумента s и n, относящихся к типам text и integer соответственно. Функция возвращает символьную строку s, повторенную n раз, в виде значения типа text.
Пример:
booktown=# SELECT repeat(lastjname. 2) booktown-l FROM authors booktown-# LIMIT 3; repeat DenhamDenham BourgeoisBourgeois BiancoBianco (3 rows)
rpad()
Синтаксис:
rpad(s .n) rpad(s .n .c)
Функция rpad() похожа на функцию Ipad(), но дополняет строку справа, а не слева. Она вызывается с двумя или тремя аргументами s, n и с (необязательный аргумент), относящимися к типам text, integer и text соответственно. Строка s дополняется справа до длины п символов пробелами или содержимым необязательного аргумента с.
Если начальная длина строки s больше п, строка усекается слева до длины n.
Пример:
booktown=# SELECT rpad('whitespace example'. 30): rpad whitespace example (1 row) booktown=# SELECT title .rpacKtitle. 12, ' – ') AS right_dashed. booktown-# rpad(title, 12, '-+-') AS right_plus_dashed booktown-# FROM books booktown-f LIMIT 3: title [ right_dashed | right_plus_dashed The Shining The Shining – | The Shining-Dune Dune 2001: A Space Odyssey 2001: A Spac 2001: A Spac (3 rows)