Личный кабинет
Укажите e-mail, на который будет выслан код восстановления пароля.
На указанный вами адрес e-mail был выслан код подтверждения аккаунта. Введите полученный код для продолжения:
Введите новый пароль два раза:
В этом разделе описываются функции и операторы для работы с данными типа bytea.
bytea
В SQL определены несколько строковых функций, в которых аргументы разделяются не запятыми, а ключевыми словами. Подробнее это описано в Таблице 9.11. Postgres Pro также предоставляет варианты этих функций с синтаксисом, обычным для функций (см. Таблицу 9.12).
В примерах, приведённых на этой странице, подразумевается, что параметр сервера bytea_output равен escape (выбран традиционный формат Postgres Pro).
bytea_output
escape
Таблица 9.11. SQL-функции и операторы для работы с двоичными строками
string || string
string
||
'\\Post'::bytea || '\047gres\000'::bytea
\\Post'gres\000
octet_length(string)
int
octet_length('jo\000se'::bytea)
5
overlay(string placing string from int [for int])
overlay('Th\000omas'::bytea placing '\002\003'::bytea from 2 for 3)
T\\002\\003mas
position(substring in string)
substring
position('\000om'::bytea in 'Th\000omas'::bytea)
3
substring(string [from int] [for int])
substring('Th\000omas'::bytea from 2 for 3)
h\000o
trim([both] bytes from string)
bytes
trim('\000\001'::bytea from '\000Tom\001'::bytea)
Tom
В PostgreSQL есть и другие функции для работы с двоичными строками, перечисленные в Таблице 9.12. Некоторые из них используются в качестве внутренней реализации стандартных функций SQL, приведённых в Таблице 9.11.
Таблица 9.12. Другие функции для работы с двоичными строками
btrim(string bytea, bytes bytea)
btrim('\000trim\001'::bytea, '\000\001'::bytea)
trim
decode(string text, format text)
text
format
encode
decode('123\000456', 'escape')
123\000456
encode(data bytea, format text)
data
base64
hex
\nnn
encode('123\000456'::bytea, 'escape')
get_bit(string, offset)
offset
get_bit('Th\000omas'::bytea, 45)
1
get_byte(string, offset)
get_byte('Th\000omas'::bytea, 4)
109
length(string)
length('jo\000se'::bytea)
md5(string)
md5('Th\000omas'::bytea)
8ab2d3c9689aaf18 b4958c334c82d8b1
set_bit(string, offset, newvalue)
newvalue
set_bit('Th\000omas'::bytea, 45, 0)
Th\000omAs
set_byte(string, offset, newvalue)
set_byte('Th\000omas'::bytea, 4, 64)
Th\000o@as
Для функций get_byte и set_byte байты нумеруется с 0. Функции get_bit и set_bit нумеруют биты справа налево; например, бит 0 будет меньшим значащим битом первого байта, а бит 15 — большим значащим битом второго байта.
get_byte
set_byte
get_bit
set_bit
См. также агрегатную функцию string_agg в Разделе 9.20 и функции для работы с большими объектами в Разделе 32.4.
string_agg
Соглашаюсь с условиями обработки персональных данных