Иллюстрированный самоучитель по PostgreSQL

Строковые функции

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)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.