Текстовые функции
Текстовые функции — это функции для работы с текстовыми строками (данными типа VARCHAR
).
concat()
Описание |
Конкатенирует несколько строк, массивов или двоичных значений. |
Использование |
|
Пустые значения (NULL
) игнорируются.
См. также Оператор ||
.
Посмотреть пример
SELECT
concat('\xAA'::BLOB, '\xff'::BLOB) as result_blob,
concat('I', ' ', 'love', ' ', 'Tengri') as result_string,
concat(['T', 'e'], ['n', 'g', 'r', 'i']) as result_array;
+-------------+---------------+---------------+
| result_blob | result_string | result_array |
+-------------+---------------+---------------+
| \xAA\xFF | I love Tengri | {T,e,n,g,r,i} |
+-------------+---------------+---------------+
contains()
Описание |
Возвращает |
Использование |
|
Посмотреть пример
SELECT
contains('I love Tengri', 'Tengri') AS check_name,
contains('I love Tengri', 'TNGRi') AS check_nickname;
+------------+----------------+
| check_name | check_nickname |
+------------+----------------+
| true | false |
+------------+----------------+
length()
Описание |
Возвращает количество символов в строке |
Использование |
|
Псевдонимы |
|
Посмотреть пример
SELECT
length('I love Tengri 💙') AS length;
+--------+
| length |
+--------+
| 15 |
+--------+
strlen()
Описание |
Возвращает количество байтов в строке |
Использование |
|
Посмотреть пример
SELECT
strlen('Tengri 💙') AS strlen;
+--------+
| strlen |
+--------+
| 11 |
+--------+
trim()
Описание |
Удаляет все вхождения любого из указанных символов с обеих сторон строки. |
Использование |
|
Если подлежащие удалению символы не указаны, то по умолчанию таким символом является пробел.
Посмотреть примеры
SELECT
trim(' Tengri ') AS trim;
+--------+
| trim |
+--------+
| Tengri |
+--------+
SELECT
trim('[Tengri]', '{([])}') AS trim_brackets;
+---------------+
| trim_brackets |
+---------------+
| Tengri |
+---------------+
ltrim()
Описание |
Удаляет все вхождения любого из указанных символов в начале строки. |
Использование |
|
Если подлежащие удалению символы не указаны, то по умолчанию таким символом является пробел.
Посмотреть примеры
SELECT
ltrim(' Tengri ') AS ltrim;
+-------------+
| ltrim |
+-------------+
| Tengri |
+-------------+
SELECT
ltrim('{{([Tengri])}}', '{([])}') AS ltrim_brackets;
+----------------+
| ltrim_brackets |
+----------------+
| Tengri])}} |
+----------------+
rtrim()
Описание |
Удаляет все вхождения любого из указанных символов в конце строки. |
Использование |
|
Если подлежащие удалению символы не указаны, то по умолчанию таким символом является пробел.
Посмотреть примеры
SELECT
rtrim(' Tengri ') AS rtrim;
+----------+
| rtrim |
+----------+
| Tengri |
+----------+
SELECT
rtrim('{{([Tengri])}}', '{([])}') AS rtrim_brackets;
+----------------+
| rtrim_brackets |
+----------------+
| {{([Tengri |
+----------------+
lower()
Описание |
Преобразует строку в нижний регистр. |
Использование |
|
Псевдонимы |
|
Посмотреть пример
SELECT
lower('TNGRi') AS lower;
+-------+
| lower |
+-------+
| tngri |
+-------+
upper()
Описание |
Преобразует строку в верхний регистр. |
Использование |
|
Псевдонимы |
|
Посмотреть пример
SELECT
upper('Tengri') AS upper;
+--------+
| upper |
+--------+
| TENGRI |
+--------+
split()
Описание |
Делит строку на две части по заданному сепаратору. |
Использование |
|
Псевдонимы |
|
Посмотреть пример
SELECT
split('I love Tengri', ' ') AS words;
+-----------------+
| words |
+-----------------+
| {I,love,Tengri} |
+-----------------+
chr()
Описание |
Возвращает символ, соответствующий значению кода ASCII или кода Unicode, заданному в |
Использование |
|
Посмотреть пример
SELECT
chr(84) || chr(78) || chr(71) || chr(82) || chr(105) AS chr;
+-------+
| chr |
+-------+
| TNGRi |
+-------+
md5()
В argument
могут быть двоичные данные или строка.
Посмотреть примеры
SELECT
md5('\xAA\xFF'::BLOB) as md5_hash;
+----------------------------------+
| md5_hash |
+----------------------------------+
| 1fab7f7621f5ddc051ebd1f2c63c4665 |
+----------------------------------+
SELECT
md5('Tengri') as md5_hash;
+----------------------------------+
| md5_hash |
+----------------------------------+
| 846b02d31131a10bd6ac0ba189c65bef |
+----------------------------------+
sha1()
Описание |
Возвращает хеш SHA-1 данных из |
Использование |
|
В argument
могут быть двоичные данные или строка.
Посмотреть примеры
SELECT
sha1('\xAA\xFF'::BLOB) as sha1_hash;
+------------------------------------------+
| sha1_hash |
+------------------------------------------+
| e89b0db325637edfacde04a76005c492e2c5aeca |
+------------------------------------------+
SELECT
sha1('Tengri') as sha1_hash;
+------------------------------------------+
| sha1_hash |
+------------------------------------------+
| b514525a19995a2442d7565bfd9bb42d9dc71a13 |
+------------------------------------------+
sha256()
Описание |
Возвращает хеш SHA-256 данных из |
Использование |
|
В argument
могут быть двоичные данные или строка.
Посмотреть пример
SELECT
sha256('\xAA\xFF'::BLOB) as sha256_hash;
+------------------------------------------------------------------+
| sha256_hash |
+------------------------------------------------------------------+
| 768318522cac43261e8ef4946c2296a3643d523a8d5bda8ff5b82aa64470421a |
+------------------------------------------------------------------+
SELECT
sha256('Tengri') as sha256_hash;
+------------------------------------------------------------------+
| sha256_hash |
+------------------------------------------------------------------+
| 8aaacef66663b14ee7c5a03dbaec7b40f0f3bf17bd12d2ed4f9aaad0e10a0d77 |
+------------------------------------------------------------------+
Оператор ||
Описание |
Конкатенирует несколько строк, массивов или двоичных значений. |
Использование |
|
Пустые значения (NULL
) игнорируются.
См. также concat().
Посмотреть примеры
SELECT
'\xAA'::BLOB || '\xff'::BLOB as result_blob,
'I' || ' ' || 'love' || ' ' || 'Tengri' as result_string,
['T', 'e'] || ['n', 'g', 'r', 'i'] as result_array;
+-------------+---------------+---------------+
| result_blob | result_string | result_array |
+-------------+---------------+---------------+
| | I love Tengri | {T,e,n,g,r,i} |
+-------------+---------------+---------------+
Обратите внимание, что значения в столбце result_blob
в выводе не отображаются (так как имеют тип BLOB
).
С помощью выражения DESCRIBE
выведем типы данных для всех столбцов в таблице, созданной так же, как в предыдущем примере:
CREATE TABLE concat AS
SELECT
'\xAA'::BLOB || '\xff'::BLOB as result_blob,
'I' || ' ' || 'love' || ' ' || 'Tengri' as result_string,
['T', 'e'] || ['n', 'g', 'r', 'i'] as result_array;
DESCRIBE TABLE concat;
+---------------+-------------+------+------+---------+-------+
| column_name | column_type | null | key | default | extra |
+---------------+-------------+------+------+---------+-------+
| result_blob | BLOB | YES | null | null | null |
+---------------+-------------+------+------+---------+-------+
| result_string | VARCHAR | YES | null | null | null |
+---------------+-------------+------+------+---------+-------+
| result_array | VARCHAR[] | YES | null | null | null |
+---------------+-------------+------+------+---------+-------+