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

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

lpad()

Синтаксис:

lpad(s .n) lpacl(s .n .c)

Функция lpad() вызывается с двумя или тремя аргументами s, n и с (необязательный аргумент), относящимися к типам text, Integer и text соответственно. Строка s дополняется слева до длины n символов пробелами или содержимым необязательного аргумента с.

Если начальная длина строки s больше n, строка усекается справа до длины n.

Пример:

booktown=# SELECT title. IpadCtitle, 12, AS dashed,
booktown-# IpadCtitle. 12. '-+-') AS pius_dashed
booktown-# FROM books LIMIT 4;
title | dashed | plus_dashed _
The Shining | – The Shining | – The Shining
Dune |Dune Dune
2001: A Space Odyssey | 2001: A Spac | 2001: A Spac
The Cat in the Hat | The Cat in t | The Cat in t
(4 rows)

Itrim()

Синтаксис:

Itrim(s) Itrim(s .f)

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

Примеры:

booktown=# SELECT ItrimC whitespace example'):
Itrim
whitespace example (1 row)
booktown=# SELECT title. ItrimCtitle, 'TD2he ')
booktown-# FROM books booktown-# LIMIT 4:
title | Itritn
The Shining | Shining
Dune I une
2001: A Space Odyssey | 001: A Space Odyssey
The Cat in the Hat j Cat In the Hat
(4 rows)

octet_length()

Синтаксис:

octet_length(s)

Функция SQL92 octet_length() получает один аргумент s типа text, varchar или character и возвращает длину полученной строки в байтах. Возвращаемое значение относится к типу integer.

В большинстве случаев длина строки в байтах совпадает с количеством символов, хотя в расширенных кодировках не всегда, поскольку в них символ по определению может состоять из нескольких байтов.

Пример:

booktown=# SELECT title, octetjength(title)
booktown-# FROM books
booktown-# ORDER BY title ASC
booktown-# LIMIT 3:
title octet Jength
2001: A Space Odyssey | 21
Bartholomew and the Oobleck | 27
Dune | 4
(3 rows)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.