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

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

rtrim()

Синтаксис:

rtrim(s) trim(s .f)

Функция rtrim() получает один или два аргумента типа text (аргумент f не обязателен). Если аргумент f не задан, функция возвращает строку s, из которой удалены все завершающие пробелы. В противном случае удаляется завершающая подстрока, состоящая только из символов, содержащихся в f. Если такая подстрока не найдена, s остается без изменений.

Примеры:

booktown=# SELECT rtrimC'whitespace example ');
rtrim
whitespace example
(1 row)

booktown=# SELECT title, rtrinKtitle, 'yes')
booktown-# FROM books
booktown-# LIMIT 4;
title rtrim
The Shining | The Shining
Dune Dun 2001: A Space Odyssey 2001: A Space Od
The Cat in the Hat j The Cat in the Hat
(4 rows)

strpos()

Синтаксис:

strpos(s .b)

Функция strpos() эквивалентна функции SQL92 position(), но аргументы передаются ей в стиле С. Функция получает два аргумента, относящихся к типу text, и возвращает начальную позицию подстроки b в строке s (отсчет начинается с 1). Возвращаемое значение относится к типу integer. Если подстрока не найдена, функция возвращает 0.

Пример:

booktown=# SELECT title, strposdower(title), 'rabbit')
booktown-l FROM books
booktown-# WHERE strposdower(title), 'rabbit')!= 0;
title | strpos
The Velveteen Rabbit | 15
(1 row)

substr()

Синтаксис:

substr(s .n) substr(s .n .l)

Функция substr() эквивалентна функции SQL92 substring(), но аргументы передаются ей в стиле С. Функция вызывается с двумя или тремя аргументами s, n и 1 (необязательный аргумент), относящимися к типам text, mnteger и integer соответственно. Возвращаемое значение представляет собой подстроку s, начинающуюся с позиции n. Необязательный аргумент 1 определяет максимальную длину подстроки в символах.

Если заданная длина подстроки превышает количество оставшихся символов в строке s, возвращается только остаток строки. Иначе говоря, возвращаемое значение не дополняется до заданной длины.

Пример:

booktown=# SELECT title, substr(title, 15) .substr(title. 5. 9)
booktown-# FROM books
booktown-# ORDER BY title DESC
booktown-# LIMIT 3;
title | substr | substr
The Velveteen Rabbit Rabbit | Velveteen
The Tell-Tale Heart Heart Tell-Tale
The Shining | | Shining
(3 rows)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.