Spec-Zone.ru › DuckDB

Функции для работы с данными

Скалярные вспомогательные функции

Функции ниже трудно отнести к конкретным типам и обладают широким спектром применений.

Имя Описание
alias(column) Возвращает имя столбца.
checkpoint(database) Синхронизирует WAL с файлом для (необязательной) базы данных без прерывания транзакций.
coalesce(expr, ...) Возвращает первое выражение, которое вычисляется как значение, отличное от NULL. Принимает 1 или более параметров. Каждое выражение может быть столбцом, литеральным значением, результатом функции или многим другим.
constant_or_null(arg1, arg2) Если arg2 равно NULL, возвращает NULL. В противном случае, возвращает arg1.
count_if(x) Возвращает 1, если x равно true или ненулевому числу.
current_catalog() Возвращает имя текущего активного каталога. По умолчанию – память.
current_schema() Возвращает имя текущей активной схемы. По умолчанию – главная.
current_schemas(boolean) Возвращает список схем. Передайте параметр true для включения неявных схем.
current_setting('setting_name') Возвращает текущее значение параметра настройки.
currval('sequence_name') Возвращает текущее значение последовательности. Обратите внимание, что nextval должно быть вызвано как минимум один раз перед вызовом currval.
error(message) Выбрасывает заданную ошибку message.
force_checkpoint(database) Синхронизирует WAL с файлом для (необязательной) базы данных с прерыванием транзакций.
gen_random_uuid() Псевдоним для uuid. Возвращает случайный UUID, похожий на этот: eeccb8c5-9943-b2bb-bb5e-222f4e14b687.
getenv(var) Возвращает значение переменной окружения var. Доступно только в клиенте командной строки.
hash(value) Возвращает UBIGINT с хэшем value.
icu_sort_key(string, collator) Заместительный ключ, используемый для сортировки специальных символов в соответствии с конкретным языковым стандартом. Параметр collator необязателен. Действителен только при установленной расширении ICU.
if(a, b, c) Условный оператор с тремя операндами.
ifnull(expr, other) Двухаргументная версия coalesce.
md5(string) Возвращает MD5-хэш string в виде VARCHAR.
md5_number(string) Возвращает MD5-хэш string в виде HUGEINT.
md5_number_lower(string) Возвращает нижний 64-битный сегмент MD5-хэша string в виде BIGINT.
md5_number_higher(string) Возвращает верхний 64-битный сегмент MD5-хэша string в виде BIGINT.
nextval('sequence_name') Возвращает следующее значение последовательности.
nullif(a, b) Возвращает NULL если a = b, иначе возвращает a. Эквивалентно CASE WHEN a = b THEN NULL ELSE a END.
pg_typeof(expression) Возвращает имя типа данных результата выражения в нижнем регистре. Для совместимости с PostgreSQL.
query(query_string_literal) Функция таблицы, которая анализирует и выполняет запрос, определенный в query_string_literal. Разрешены только литеральные строки. Предупреждение: эта функция позволяет вызывать произвольные запросы, потенциально изменяя состояние базы данных.
query_table(tbl_name) Функция таблицы, которая возвращает таблицу, указанную в tbl_name.
query_table(tbl_names, [by_name]) Функция таблицы, которая возвращает объединение таблиц, указанных в tbl_names. Если необязательный параметр by_name установлен в true, используются семантика UNION ALL BY NAME.
read_blob(source) Возвращает содержимое из source (имя файла, список имен файлов или шаблон glob) в виде BLOB. Для получения дополнительной информации см. read_blob руководство.
read_text(source) Возвращает содержимое из source (имя файла, список имен файлов или шаблон glob) в виде VARCHAR. Сначала проверяется, что содержимое файла соответствует кодировке UTF-8. Если read_text пытается прочитать файл с некорректной кодировкой UTF-8, выбрасывается ошибка, предлагающая использовать read_blob вместо этого. Для получения дополнительной информации см. read_text руководство.
sha256(value) Возвращает VARCHAR с хэшем SHA-256 value.
stats(expression) Возвращает строку со статистикой по выражению. Выражение может быть столбцом, константой или SQL-выражением.
txid_current() Возвращает идентификатор текущей транзакции, значение BIGINT . Присваивает новое значение, если текущая транзакция еще не имеет идентификатора.
typeof(expression) Возвращает имя типа данных результата выражения.
uuid() Возвращает случайный UUID, похожий на этот: eeccb8c5-9943-b2bb-bb5e-222f4e14b687.
version() Возвращает текущую активную версию DuckDB в указанном формате.

alias(column)

Описание Возвращает имя столбца.
Пример alias(column1)
Результат column1

checkpoint(database)

Описание Синхронизирует WAL с файлом для (необязательной) базы данных без прерывания транзакций.
Пример checkpoint(my_db)
Результат success Boolean

coalesce(expr, ...)

Описание Возвращает первое выражение, которое вычисляется как значение, отличное от NULL. Принимает 1 или более параметров. Каждое выражение может быть столбцом, литеральным значением, результатом функции или многим другим.
Пример coalesce(NULL, NULL, 'default_string')
Результат default_string

constant_or_null(arg1, arg2)

Описание Если arg2 равно NULL, возвращает NULL. В противном случае, возвращает arg1.
Пример constant_or_null(42, NULL)
Результат NULL

count_if(x)

Описание Возвращает 1, если x равно true или ненулевому числу.
Пример count_if(42)
Результат 1

current_catalog()

Описание Возвращает имя текущего активного каталога. По умолчанию — память.
Пример current_catalog()
Результат memory

current_schema()

Описание Возвращает имя текущей активной схемы. По умолчанию — main.
Пример current_schema()
Результат main

current_schemas(boolean)

Описание Возвращает список схем. Передайте параметр true, чтобы включить неявные схемы.
Пример current_schemas(true)
Результат ['temp', 'main', 'pg_catalog']

current_setting('setting_name')

Описание Возвращает текущее значение параметра конфигурации.
Пример current_setting('access_mode')
Результат automatic

currval('sequence_name')

Описание Возвращает текущее значение последовательности. Обратите внимание, что nextval должно быть вызвано хотя бы один раз перед вызовом currval.
Пример currval('my_sequence_name')
Результат 1

error(message)

Описание Выбрасывает указанную ошибку message.
Пример error('access_mode')

force_checkpoint(database)

Описание Синхронизирует WAL с файлом для (необязательного) прерывания транзакций базы данных.
Пример force_checkpoint(my_db)
Результат success Boolean

gen_random_uuid()

Описание Псевдоним uuid. Возвращает случайный UUID, подобный этому: eeccb8c5-9943-b2bb-bb5e-222f4e14b687.
Пример gen_random_uuid()
Результат разные

getenv(var)

Описание Возвращает значение переменной окружения var. Доступно только в клиенте командной строки.
Пример getenv('HOME')
Результат /path/to/user/home

hash(value)

Описание Возвращает UBIGINT с хэшем value.
Пример hash('🦆')
Результат 2595805878642663834

icu_sort_key(string, collator)

Описание Заместительный ключ, используемый для сортировки специальных символов в соответствии с конкретным языковым стандартом. Параметр Collator необязателен. Действителен только при установленной расширении ICU.
Пример icu_sort_key('ö', 'DE')
Результат 460145960106

if(a, b, c)

Описание Условный оператор «если-то-иначе»; возвращает b, если a, иначе возвращает c. Эквивалентно CASE WHEN a THEN b ELSE c END.
Пример if(2 > 1, 3, 4)
Результат 3

ifnull(expr, other)

Описание Двухаргументная версия coalesce.
Пример ifnull(NULL, 'default_string')
Результат default_string

md5(string)

Описание Возвращает хэш MD5 string в формате VARCHAR.
Пример md5('123')
Результат 202cb962ac59075b964b07152d234b70

md5_number(string)

Описание Возвращает хэш MD5 string в формате HUGEINT.
Пример md5_number('123')
Результат 149263671248412135425768892945843956768

md5_number_lower(string)

Описание Возвращает хэш MD5 string в формате BIGINT.
Пример md5_number_lower('123')
Результат 8091599832034528150

md5_number_higher(string)

Описание Возвращает хэш MD5 string в формате BIGINT.
Пример md5_number_higher('123')
Результат 6559309979213966368

nextval('sequence_name')

Описание Возвращает следующее значение последовательности.
Пример nextval('my_sequence_name')
Результат 2

nullif(a, b)

Описание Возвращает null, если a = b, иначе возвращает a. Эквивалентно CASE WHEN a = b THEN NULL ELSE a END.
Пример nullif(1+1, 2)
Результат NULL

pg_typeof(expression)

Описание Возвращает строковое название типа данных результата выражения в нижнем регистре. Совместимость с PostgreSQL.
Пример pg_typeof('abc')
Результат varchar

query(query_string_literal)

Описание Функция таблицы, которая анализирует и выполняет запрос, определенный в query_string_literal. Разрешены только строковые литералы. Предупреждение: эта функция позволяет вызывать произвольные запросы, потенциально изменяя состояние базы данных.
Пример query('SELECT 42 AS x')
Результат 42

query_table(tbl_name)

Описание Функция таблицы, которая возвращает таблицу, указанную в tbl_name.
Пример query(t1)
Результат (строки из t1)

query_table(tbl_names, [by_name])

Описание Функция таблицы, которая возвращает объединение таблиц, указанных в tbl_names. Если необязательный параметр by_name установлен в true, используются семантика UNION ALL BY NAME.
Пример query(['t1', 't2'])
Результат (объединение двух таблиц)

read_blob(source)

END_OF_DOCUMENT_MARKER
Описание Возвращает содержимое из source (имя файла, список имен файлов или шаблон glob) в виде BLOB. Подробности см. в руководстве read_blob.
Пример read_blob('hello.bin')
Результат hello\x0A

read_text(source)

Описание Возвращает содержимое из source (имя файла, список имен файлов или шаблон glob) в виде VARCHAR. Содержимое файла сначала проверяется на соответствие кодировке UTF-8. Если read_text пытается прочитать файл с некорректной кодировкой UTF-8, выбрасывается ошибка с предложением использовать read_blob вместо этого. Подробности см. в руководстве read_text.
Пример read_text('hello.txt')
Результат hello\n

sha256(value)

Описание Возвращает VARCHAR с хешем SHA-256 value.
Пример sha256('🦆')
Результат d7a5c5e0d1d94c32218539e7e47d4ba9c3c7b77d61332fb60d633dde89e473fb

stats(expression)

Описание Возвращает строку со статистикой об выражении. Выражение может быть столбцом, константой или SQL-выражением.
Пример stats(5)
Результат '[Min: 5, Max: 5][Has Null: false]'

txid_current()

Описание Возвращает идентификатор текущей транзакции, значение BIGINT. Если текущая транзакция еще не имеет идентификатора, он будет присвоен новый.
Пример txid_current()
Результат различные

typeof(expression)

Описание Возвращает имя типа данных результата выражения.
Пример typeof('abc')
Результат VARCHAR

uuid()

Описание Возвращает случайный UUID, похожий на этот: eeccb8c5-9943-b2bb-bb5e-222f4e14b687.
Пример uuid()
Результат различные

version()

Описание Возвращает текущую активную версию DuckDB в этом формате.
Пример version()
Результат различные

Функции служебных таблиц

Функция таблицы используется вместо таблицы в FROM разделе.

Имя Описание
glob(search_path) Возвращает имена файлов, найденные в указанном месте search_path в одном столбце с именем file. search_path может содержать синтаксис поиска по шаблону glob.
repeat_row(varargs, num_rows) Возвращает таблицу с num_rows строками, каждая из которых содержит поля, определённые в varargs.

glob(search_path)

Описание Возвращает имена файлов, найденные в указанном месте search_path в одном столбце с именем file. search_path может содержать синтаксис поиска по шаблону glob.
Пример glob('*')
Результат (таблица имен файлов)

repeat_row(varargs, num_rows)

Описание Возвращает таблицу с num_rows строками, каждая из которых содержит поля, определённые в varargs.
Пример repeat_row(1, 2, 'foo', num_rows = 3)
Результат 3 строки 1, 2, 'foo'

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/functions/utility.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API