Приведённая ниже документация по функциям сгенерирована на основе системной таблицы
system.functions.FQDN
Добавленный в: v20.1.0 Возвращает полное доменное имя сервера ClickHouse.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
fullHostName
Аргументы
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
MACNumToString
Добавленный в: v1.1.0 Интерпретирует числоUInt64 как MAC-адрес в формате big-endian.
Возвращает соответствующий MAC-адрес в формате AA:BB:CC:DD:EE:FF (шестнадцатеричные числа, разделённые двоеточиями) в виде строки.
Синтаксис
num— число типа UInt64.UInt64
String
Примеры
Пример использования
Query
Response
MACStringToNum
Добавленный в: v1.1.0 Обратная функция для MACNumToString. Если MAC-адрес имеет недопустимый формат, возвращает 0. Синтаксисs— строка MAC-адреса.String
UInt64
Примеры
Пример использования
Query
Response
MACStringToOUI
Добавленный в: v1.1.0 Для MAC-адреса в формате AA:BB:CC:DD:EE:FF (шестнадцатеричные числа, разделённые двоеточиями) возвращает первые три октета в виде числа UInt64. Если MAC-адрес имеет неверный формат, возвращает 0. Синтаксисs— строка MAC-адреса.String
UInt64
Примеры
Пример использования
Query
Response
authenticatedUser
Добавленный в: v25.11.0 Если пользователь сеанса был переключён с помощью команды EXECUTE AS, эта функция возвращает имя исходного пользователя, использованного для аутентификации и создания сеанса. Псевдоним: authUser()Эта функция является недетерминированной: для одних и тех же аргументов она может возвращать разные результаты.
authUser
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
bar
Добавленный в: v1.1.0 Строит столбчатую диаграмму. Рисует полосу, ширина которой пропорциональна (x - min) и составляетwidth символов при x = max.
Полоса рисуется с точностью до одной восьмой символа.
Синтаксис
x— Отображаемое значение.(U)Int*илиFloat*илиDecimalmin— Минимальное значение.(U)Int*илиFloat*илиDecimalmax— Максимальное значение.(U)Int*илиFloat*илиDecimalwidth— Необязательный параметр. Ширина полосы в символах. Значение по умолчанию —80.const (U)Int*илиconst Float*илиconst Decimal
String
Примеры
Пример использования
Query
Response
blockNumber
Добавленный в: v1.1.0 Возвращает монотонно возрастающий порядковый номер блока, содержащего строку. Возвращаемый номер блока обновляется по мере возможности, поэтому он может быть не совсем точным.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UInt64
Примеры
Базовое использование
Query
Response
blockSerializedSize
Добавленный в: v20.3.0 Возвращает несжатый размер блока значений на диске в байтах.Эта функция недетерминирована: она может возвращать разные результаты для одних и тех же аргументов.
x1[, x2, ...]— Любое количество значений, для которых нужно получить размер блока в несжатом виде.Any
UInt64
Примеры
Пример использования
Query
Response
blockSize
Добавленный в: v1.1.0 В ClickHouse запросы обрабатываются блоками (фрагментами). Эта функция возвращает размер блока (количество строк), в котором она вызвана.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
buildId
Добавленный в: v20.5.0 Возвращает идентификатор сборки, сгенерированный компилятором для бинарного файла запущенного сервера ClickHouse. Если функция выполняется в контексте distributed таблицы, она возвращает обычный столбец со значениями, относящимися к каждому сегменту. В противном случае она возвращает постоянное значение.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
byteSize
Добавленный в: v21.1.0 Возвращает оценку несжатого размера своих аргументов в памяти в байтах. Для аргументовString функция возвращает длину строки + 8 (длина).
Если у функции несколько аргументов, она суммирует их размеры в байтах.
Синтаксис
arg1[, arg2, ...]— Значения любого типа данных, для которых требуется оценить размер в байтах в несжатом виде.Any
UInt64
Примеры
Пример использования
Query
Response
Query
Response
colorOKLABToSRGB
Добавленный в: v26.2.0 Преобразует цвет из перцептивного цветового пространства OKLab в цветовое пространство sRGB. Входной цвет задается в цветовом пространстве OKLab. Если входные значения выходят за пределы типичных диапазонов OKLab, результат зависит от реализации. OKLab использует три компонента:- L: перцептивная светлота (обычно в диапазоне [0..1])
- a: зелено-красная оппонентная ось
- b: сине-желтая оппонентная ось
- Преобразование из OKLab в линейный sRGB.
- Преобразование из линейного sRGB в sRGB с гамма-кодированием.
tuple— Кортеж из трёх числовых значенийL,a,b, гдеLнаходится в диапазоне[0...1].Tuple(Float64, Float64, Float64)gamma— Необязательный параметр. Показатель степени, используемый для преобразования линейного sRGB обратно в sRGB путём применения(x ^ (1 / gamma)) * 255к каждому каналуx. Значение по умолчанию —2.2.Float64
Tuple(Float64, Float64, Float64)
Примеры
Преобразование OKLAB в sRGB (Float)
Query
Response
Query
Response
colorOKLCHToSRGB
Добавленный в: v25.7.0 Преобразует цвет из перцептуально равномерного цветового пространства OKLCH в привычное цветовое пространство sRGB. ЕслиL выходит за пределы диапазона [0...1], C отрицательно или H выходит за пределы диапазона [0...360], результат зависит от реализации.
OKLCH — это цилиндрическая версия цветового пространства OKLab.
Его три координаты —
L (светлота в диапазоне [0...1]), C (цветность >= 0) и H (цветовой тон в градусах из диапазона [0...360]).
OKLab/OKLCH спроектировано так, чтобы быть перцептуально равномерным и при этом оставаться вычислительно недорогим.colorSRGBToOKLCH:
- Из OKLCH в OKLab.
- Из OKLab в линейный sRGB
- Из линейного sRGB в sRGB
tuple— Кортеж из трёх числовых значенийL,C,H, гдеLнаходится в диапазоне[0...1],C >= 0, аH— в диапазоне[0...360].Tuple(Float64, Float64, Float64)gamma— Необязательный параметр. Показатель степени, используемый для преобразования линейного sRGB обратно в sRGB по формуле(x ^ (1 / gamma)) * 255для каждого каналаx. Значение по умолчанию —2.2.Float64
Tuple(Float64, Float64, Float64)
Примеры
Преобразование OKLCH в sRGB
Query
Response
Query
Response
colorSRGBToOKLAB
Добавленный в: v26.2.0 Преобразует цвет, закодированный в цветовом пространстве sRGB, в перцептуально равномерное цветовое пространство OKLAB. Если какой-либо входной канал выходит за пределы[0...255] или значение гаммы не является положительным, поведение зависит от реализации.
OKLAB — это перцептуально равномерное цветовое пространство.
Его три координаты:
L (светлота в диапазоне [0...1]), a (Green-Red axis) и b (Blue-Yellow axis).
OKLab спроектировано так, чтобы оставаться перцептуально равномерным и при этом требовать минимум вычислений.- из sRGB в линейный sRGB
- из линейного sRGB в OKLab
tuple— Кортеж из трёх значений R, G, B в диапазоне[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Необязательно. Показатель степени, используемый для линеаризации sRGB путём применения(x / 255)^gammaк каждому каналуx. Значение по умолчанию —2.2.Float64
Tuple(Float64, Float64, Float64)
Примеры
Преобразование sRGB в OKLAB
Query
Response
colorSRGBToOKLCH
Добавленный в: v25.7.0 Преобразует цвет, закодированный в цветовом пространстве sRGB, в перцептуально равномерное цветовое пространство OKLCH. Если какой-либо входной канал выходит за пределы[0...255] или значение гаммы не является положительным, поведение зависит от реализации.
OKLCH — это цилиндрическая версия цветового пространства OKLab.
Его три координаты —
L (светлота в диапазоне [0...1]), C (цветность >= 0) и H (цветовой тон в градусах в диапазоне [0...360]).
OKLab/OKLCH спроектировано так, чтобы быть перцептуально равномерным и при этом оставаться вычислительно недорогим.- из sRGB в линейный sRGB
- из линейного sRGB в OKLab
- из OKLab в OKLCH.
tuple— Кортеж из трёх значений R, G, B в диапазоне[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Необязательный параметр. Показатель степени, используемый для линеаризации sRGB: к каждому каналуxприменяется(x / 255)^gamma. Значение по умолчанию —2.2.Float64
Tuple(Float64, Float64, Float64)
Примеры
Преобразование sRGB в OKLCH
Query
Response
connectionId
Добавленный в: v21.3.0 Возвращает идентификатор соединения клиента, отправившего текущий запрос. Эта функция особенно полезна при отладке. Она была создана для совместимости с функцией MySQLCONNECTION_ID.
Обычно она не используется в запросах для продакшна.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
countDigits
Добавленный в: v20.8.0 Возвращает количество десятичных цифр, необходимое для представления значения.Эта функция учитывает scale десятичных значений, то есть вычисляет результат по базовому целочисленному типу, то есть по
(value * scale).Например:countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x. UInt8
Примеры
Пример использования
Query
Response
currentDatabase
Добавленный в: v1.1.0 Возвращает имя текущей базы данных. Полезно в параметрах движка таблицы в запросахCREATE TABLE, где требуется указать базу данных.
См. также оператор SET.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
current_database, DATABASE, SCHEMA
Аргументы
- None.
String
Примеры
Пример использования
Query
Response
Query
Response
currentHandler
Добавлено в: v26.6.0 Возвращает имя HTTP-обработчика, определённого в SQL (созданного с помощьюCREATE HANDLER), который вызвал запрос.
Возвращает пустую строку, если запрос был вызван не через такой обработчик.
Полезна для настройки поведения запроса в зависимости от вызвавшего его обработчика.
Эта функция недетерминированная: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
String
Примеры
Пример использования
Query
currentProfiles
Добавленный в: v21.9.0 Возвращает массив профилей настроек текущего пользователя.Эта функция недетерминирована: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
Array(String)
Примеры
Пример использования
Query
Response
currentQueryID
Добавленный в: v25.2.0 Возвращает текущий Query id.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
current_query_id
Аргументы
- Отсутствуют.
Query
Response
currentRequestURL
Добавлено в: v26.6.0 Возвращает URL HTTP-запроса (путь и строку запроса), которым был вызван запрос. Возвращает пустую строку, если запрос был выполнен не через HTTP. Полезна в сочетании с определёнными в SQL HTTP-обработчиками (CREATE HANDLER) для извлечения параметров,
встроенных в путь запроса.
Эта функция недетерминированная: для одних и тех же аргументов она может возвращать разные результаты.
- Нет.
String
Примеры
Пример использования
Query
currentRoles
Добавленный в: v21.9.0 Возвращает массив ролей, назначенных текущему пользователю.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
Array(String)
Примеры
Пример использования
Query
Response
currentSchemas
Добавленный в: v23.7.0 То же, что и функцияcurrentDatabase, но
- принимает булев аргумент, который игнорируется
- возвращает имя базы данных в виде массива с одним значением.
currentSchemas существует только для совместимости с PostgreSQL.
Используйте вместо неё currentDatabase.
См. также оператор SET.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
current_schemas
Аргументы
bool— Логическое значение, которое игнорируется.Bool
Array(String)
Примеры
Пример использования
Query
Response
currentUser
Добавленный в: v20.1.0 Возвращает имя текущего пользователя. При распределённом запросе возвращается имя пользователя, который инициировал запрос.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
session_user, current_user, user
Аргументы
- None.
String
Примеры
Пример использования
Query
Response
Query
Response
defaultProfiles
Добавленный в: v21.9.0 Возвращает массив имён профилей настроек по умолчанию для текущего пользователя.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
Array(String)
Примеры
Пример использования
Query
Response
defaultRoles
Добавленный в: v21.9.0 Возвращает массив ролей по умолчанию для текущего пользователя.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
Array(String)
Примеры
Пример использования
Query
Response
defaultValueOfArgumentType
Добавленный в: v1.1.0 Возвращает значение по умолчанию для указанного типа данных. Не включает значения по умолчанию для пользовательских столбцов, заданных пользователем. Синтаксисexpression— значение произвольного типа или выражение, результатом которого является значение произвольного типа.Any
0 для чисел, пустую строку для строк или NULL для типа Nullable. UInt8 или String или NULL
Примеры
Пример использования
Query
Response
Query
Response
defaultValueOfTypeName
Добавленный в: v1.1.0 Возвращает значение по умолчанию для заданного имени типа. Синтаксисtype— Строка с именем типа.String
0 для чисел, пустую строку для строк или NULL для Nullable UInt8 или String или NULL
Примеры
Пример использования
Query
Response
Query
Response
digits
Добавленный в: v26.7.0 Возвращает цифры числаn, начиная с указанного смещения offset.
Отсчёт начинается с 1 по следующей логике:
- Если
offsetравен0, генерируется исключение, так какoffsetиспользует нумерацию с 1. - Если
offsetотрицательный, отсчёт начинается сoffsetцифр от конца числа, а не от начала. - Если
offsetбольше количества цифр вn, возвращается0.
length действует следующая логика:
- Если
lengthположительный, это количество цифр, которые нужно взять, начиная сoffset - Если
lengthотрицательный, это количество цифр справа в числе, которые нужно исключить
substring, которая выполняет аналогичную операцию со строками.
Синтаксис
n— Число, цифры которого нужно вычислить.(U)Int8or(U)Int16or(U)Int32or(U)Int64offset— Начальная позиция цифры вn.(U)Int8or(U)Int16or(U)Int32or(U)Int64length— Необязательный параметр. Максимальная длина последовательности цифр.(U)Int8or(U)Int16or(U)Int32or(U)Int64
n, интерпретируемые как UInt64. Возвращает 0, если выбранный диапазон пуст. Ведущие нули не сохраняются. UInt64
Примеры
Положительное смещение
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
displayName
Добавленный в: v22.11.0 Возвращает значениеdisplay_name из конфигурации или полное доменное имя (FQDN) сервера, если оно не задано.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
display_name из config или FQDN сервера, если оно не задано. String
Примеры
Пример использования
Query
Response
dumpColumnStructure
Добавленный в: v1.1.0 Выводит подробное описание внутренней структуры столбца и его типа данных.Эта функция недетерминирована: она может возвращать разные результаты для одних и тех же аргументов.
x— Значение, для которого требуется получить описание.Any
String
Примеры
Пример использования
Query
Response
enabledProfiles
Добавленный в: v21.9.0 Возвращает массив имен профилей настроек, включенных для текущего пользователя.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
Array(String)
Примеры
Пример использования
Query
Response
enabledRoles
Добавленный в: v21.9.0 Возвращает массив ролей, включенных для текущего пользователя.Эта функция недетерминирована: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
Array(String)
Примеры
Пример использования
Query
Response
errorCodeToName
Добавленный в: v20.12.0 Возвращает текстовое название числового кода ошибки ClickHouse. Соответствие между числовыми кодами ошибок и их названиями доступно здесь. Синтаксисerror_code. String
Примеры
Пример использования
Query
Response
file
Добавленный в: v21.3.0 Читает файл как строку и загружает данные в указанный столбец. Содержимое файла не интерпретируется. См. также табличную функциюfile.
Эта функция недетерминирована: она может возвращать разные результаты для одних и тех же аргументов.
path— Путь к файлу относительноuser_files_path. Поддерживаются подстановочные шаблоны*,**,?,{abc,def}и{N..M}, гдеNиM— числа, а'abc'и'def'— строки.Stringdefault— Значение, которое возвращается, если файл не существует или к нему нет доступа.StringилиNULL
String
Примеры
Вставка файлов в таблицу
Query
Response
filesystemAvailable
Добавленный в: v20.1.0 Возвращает объём свободного места в файловой системе, где хранится постоянное хранилище базы данных. Возвращаемое значение всегда меньше общего объёма свободного места (filesystemUnreserved), поскольку часть пространства зарезервирована для операционной системы.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
disk_name— Необязательный параметр. Имя диска, для которого нужно определить объём свободного места. Если не указано, используется диск по умолчанию.StringилиFixedString
UInt64
Примеры
Пример использования
Query
Response
filesystemCapacity
Добавленный в: v20.1.0 Возвращает объём файловой системы в байтах. Требуется настроить path к каталогу данных.Эта функция недетерминирована: для одних и тех же аргументов она может возвращать разные результаты.
disk_name— Необязательный. Имя диска, для которого нужно получить объём. Если не указано, используется диск по умолчанию.StringилиFixedString
UInt64
Примеры
Пример использования
Query
Response
filesystemUnreserved
Добавленный в: v22.12.0 Возвращает общий объём свободного места в файловой системе, где размещено постоянное хранилище базы данных (ранееfilesystemFree).
См. также filesystemAvailable.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
disk_name— Необязательный. Имя диска, для которого нужно определить общий объём свободного места. Если не указано, используется диск по умолчанию.StringилиFixedString
UInt64
Примеры
Пример использования
Query
Response
finalizeAggregation
Добавленный в: v1.1.0 Для состояния агрегации эта функция возвращает результат агрегации (или финализированное состояние при использовании комбинатора -State). Синтаксисstate— Состояние агрегации.AggregateFunction
Any
Примеры
Пример использования
Query
Response
Query
Response
flipCoordinates
Добавленный в: v25.11.0 Меняет местами координаты x и y геометрических объектов. Эта операция меняет широту и долготу местами, что полезно при преобразовании между различными системами координат или при исправлении порядка координат. Для Point функция меняет местами координаты x и y. Для сложных геометрий (MultiPoint, LineString, Polygon, MultiPolygon, Ring, MultiLineString) преобразование рекурсивно применяется к каждой паре координат. Функция поддерживает как отдельные геометрические типы (Point, MultiPoint, Ring, Polygon, MultiPolygon, LineString, MultiLineString), так и тип варианта Geometry. Синтаксисgeometry— геометрия, которую нужно преобразовать. Поддерживаемые типы: Point (Tuple(Float64, Float64)), MultiPoint (Array(Point)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)) или Geometry (вариант, содержащий любой из этих типов).
Point или MultiPoint или Ring или Polygon или MultiPolygon или LineString или MultiLineString или Geometry
Примеры
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
Добавленный в: v23.10.0 Возвращает отформатированную, возможно, многострочную версию указанного SQL-запроса. Генерирует исключение в случае ошибки разбора. [example:multiline] Синтаксисquery— SQL-запрос, который требуется отформатировать. String
String
Примеры
Многострочный
Query
Response
formatQueryFromJSON
Добавленный в: v26.8.0 Принимает JSON-представление SQL AST (созданноеparseQueryToJSON) и преобразует его обратно в строку SQL-запроса.
При использовании одного аргумента возвращает SQL в каноническом формате.
При использовании двух аргументов (json, original_query) по возможности сохраняет комментарии, пробельные символы и отступы исходного запроса.
Десериализованный AST ограничен текущими настройками сеанса max_ast_depth и max_ast_elements.
Вместе с parseQueryToJSON эта функция позволяет программно анализировать и преобразовывать запросы
в виде их JSON AST.
Синтаксис
json— JSON-строка, представляющая SQL AST.Stringoriginal_query— Необязательный параметр. Исходный SQL-запрос для сохранения форматирования.String
String
Примеры
Цикл преобразования
Query
Response
Query
Response
formatQueryOrNull
Добавленный в: v23.11.0 Возвращает отформатированную, возможно, многострочную версию заданного SQL-запроса. В случае ошибки разбора возвращает NULL. [example:multiline] Синтаксисquery— SQL-запрос для форматирования. String
String
Примеры
многострочный
Query
Response
formatQuerySingleLine
Добавленный в: v23.10.0 КакformatQuery(), но возвращаемая форматированная строка не содержит переводов строки. Генерирует исключение в случае ошибки разбора.
[example:multiline]
Синтаксис
query— SQL-запрос, который нужно отформатировать. String
String
Примеры
многострочный
Query
Response
formatQuerySingleLineOrNull
Добавленный в: v23.11.0 Аналогично formatQuery(), но возвращаемая форматированная строка не содержит разрывов строк. В случае ошибки разбора возвращает NULL. [example:multiline] Синтаксисquery— SQL-запрос, который нужно отформатировать.String
String
Примеры
многострочный
Query
Response
formatReadableDecimalSize
Добавленный в: v22.11.0 Для заданного размера (количества байт) эта функция возвращает удобочитаемое округлённое значение с суффиксом (KB, MB и т. д.) в виде строки. Обратной операцией для этой функции являетсяparseReadableSize.
Синтаксис
value— Размер в байтах.Int8илиInt16илиInt32илиInt64илиUInt8илиUInt16илиUInt32илиUInt64илиFloat32илиFloat64илиDecimalprecision— Необязательно. Количество цифр после десятичной точки. По умолчанию 2.const UInt8
String
Примеры
Форматирование размеров файлов
Query
Response
Query
Response
formatReadableQuantity
Добавленный в: v20.10.0 Для заданного числа эта функция возвращает строку с округлённым числом и суффиксом (тысяча, миллион, миллиард и т. д.). Эта функция принимает на вход любой числовой тип, но внутри приводит его кFloat64.
При больших значениях результат может быть неоптимальным.
Синтаксис
value— число для форматирования.Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64orDecimalprecision— необязательный параметр. Количество цифр после десятичной точки. Значение по умолчанию — 2.const UInt8
String
Примеры
Форматирование чисел с суффиксами
Query
Response
Query
Response
formatReadableSize
Добавленный в: v1.1.0 Для заданного размера (числа байтов) эта функция возвращает удобочитаемый округлённый размер с суффиксом (KiB, MiB и т. д.) в виде строки. Обратными операциями для этой функции являютсяparseReadableSize, parseReadableSizeOrZero и parseReadableSizeOrNull.
Эта функция принимает на вход любой числовой тип, но внутри приводит его к Float64. При больших значениях результаты могут быть не самыми точными.
Синтаксис
FORMAT_BYTES
Аргументы
value— Размер в байтах.Int8илиInt16илиInt32илиInt64илиUInt8илиUInt16илиUInt32илиUInt64илиFloat32илиFloat64илиDecimalprecision— Необязательно. Количество цифр после десятичной точки. По умолчанию равно 2.const UInt8
String
Примеры
Форматирование размеров файлов
Query
Response
Query
Response
formatReadableTimeDelta
Добавленный в: v20.12.0 Для временного интервала (delta) в секундах или выраженияINTERVAL эта функция возвращает строковое представление временной дельты в year/month/day/hour/minute/second/millisecond/microsecond/nanosecond.
Эта функция принимает на вход любой числовой тип, но внутри приводит его к Float64. При больших значениях результаты могут быть неточными.
Когда передаётся выражение INTERVAL, его значение преобразуется в секунды. Единицы INTERVAL MONTH и больше (MONTH, QUARTER, YEAR) не поддерживаются, так как они не представляют собой интервал фиксированной длины в секундах.
Синтаксис
column— Столбец с числовой дельтой времени или выражениемINTERVAL. ЕдиницыINTERVALMONTHи больше не поддерживаются.Float64илиIntervalmaximum_unit— Необязательный параметр. Максимальная единица, которую нужно отображать. Допустимые значения:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Значение по умолчанию:years.const Stringminimum_unit— Необязательный параметр. Минимальная единица, которую нужно отображать. Все меньшие единицы отбрасываются. Допустимые значения:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Если явно указанное значение большеmaximum_unit, будет сгенерировано исключение. Значение по умолчанию:seconds, еслиmaximum_unitравенsecondsили больше, в противном случае —nanoseconds.const String
String
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
fuzzQuery
Добавленный в: v26.2.0 Разбирает указанную строку запроса и применяет к ней случайные мутации AST (фаззинг). Возвращает полученный в результате фаззинга запрос в виде строки. Недетерминирована: каждый вызов может возвращать разный результат. Требуетallow_fuzz_query_functions = 1.
Синтаксис
query— SQL-запрос для фаззинга. String
String
Примеры
базовый
Query
generateRandomStructure
Добавленный в: v23.5.0 Генерирует случайную структуру таблицы в форматеcolumn1_name column1_type, column2_name column2_type, ....
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
number_of_columns— Требуемое количество столбцов в итоговой структуре таблицы. Если задано значение 0 илиNull, число столбцов будет случайным — от 1 до 128. Значение по умолчанию:Null.UInt64seed— seed для получения стабильных результатов. Еслиseedне указан или задан какNull, он генерируется случайным образом.UInt64
String
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
generateSerialID
Добавленный в: v25.1.0 Генерирует и возвращает последовательные числа, начиная с предыдущего значения счётчика. Эта функция принимает строковый аргумент — идентификатор серии, а также необязательное начальное значение. Сервер должен быть настроен для работы с Keeper. Серии хранятся в узлах Keeper по пути, который можно настроить вseries_keeper_path в конфигурации сервера.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
series_identifier— Идентификатор серииconst Stringstart_value— Необязательный. Начальное значение счётчика. По умолчанию — 0. Примечание: это значение используется только при создании новой серии и игнорируется, если серия уже существуетUInt*
UInt64
Примеры
первый вызов
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Добавленный в: v24.5.0 Возвращает значение HTTP-заголовка. Если такого заголовка нет или текущий запрос выполняется не через HTTP-интерфейс, функция возвращает пустую строку. Некоторые HTTP-заголовки (например,Authorization, Authentication и X-ClickHouse-*) недоступны.
Для работы функции необходимо, чтобы настройка
allow_get_client_http_header была включена.
По умолчанию эта настройка отключена из соображений безопасности, поскольку некоторые заголовки, такие как Cookie, могут содержать конфиденциальную информацию.getClientHTTPHeader читает заголовки текущего запроса, поэтому возвращает непустое значение только в том случае, если запрос отправлен через HTTP-интерфейс.
Например, передайте заголовок вместе с запросом и прочитайте его обратно через HTTP:
application/x-www-form-urlencoded.
Синтаксис
name— Имя HTTP-заголовка.String
String
Примеры
Пример использования
Query
getMacro
Добавленный в: v20.1.0 Возвращает значение макроса из файла конфигурации сервера. Макросы определяются в разделе<macros> файла конфигурации и могут использоваться, чтобы различать серверы по удобным именам, даже если у них сложные имена узлов.
Если функция выполняется в контексте distributed таблицы, она создаёт обычный столбец со значениями для каждого сегмента.
Требует привилегии SELECT для system.macros, как и чтение этой таблицы.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
name— Имя макроса, который нужно получить.const String
String
Примеры
Базовое использование
Query
Response
getMaxTableNameLengthForDatabase
Добавленный в: v25.1.0 Возвращает максимальную длину имени таблицы в указанной базе данных. Синтаксисdatabase_name— имя указанной базы данных.String
Query
Response
getMergeTreeSetting
Добавленный в: v25.6.0 Возвращает текущее значение настройки MergeTree. Требует привилегииSELECT для system.merge_tree_settings, как и чтение этой таблицы.
Эта функция недетерминированная: она может возвращать разные результаты для одних и тех же аргументов.
setting_name— Название настройки.String
Query
Response
getOSKernelVersion
Добавленный в: v21.11.0 Возвращает строку с версией ядра операционной системы.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
getServerPort
Добавленный в: v21.10.0 Возвращает номер порта сервера для заданного протокола.Эта функция недетерминированная: она может возвращать разные результаты для одних и тех же аргументов.
port_name— Название порта.String
UInt16
Примеры
Пример использования
Query
Response
getServerSetting
Добавленный в: v25.6.0 Возвращает текущее значение по имени настройки сервера. Требует привилегииSELECT для system.server_settings, как и чтение этой таблицы.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
setting_name— Название настройки сервера.String
Any
Примеры
Пример использования
Query
Response
getSetting
Добавленный в: v20.7.0 Возвращает текущее значение настройки.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
setting_Name— Имя настройки.const String
Any
Примеры
Пример использования
Query
Response
getSettingOrDefault
Добавленный в: v24.10.0 Возвращает текущее значение настройки или, если в текущем профиле она не задана, значение по умолчанию, указанное во втором аргументе.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
setting_name— Имя настройки.Stringdefault_value— Значение, которое возвращается, если custom_setting не задан. Значение может быть любого типа данных илиNULL.
default_value, если настройка не задана.
Примеры
Пример использования
Query
Response
getSizeOfEnumType
Добавленный в: v1.1.0 Возвращает количество полей в указанномEnum.
Синтаксис
x— значение типаEnum.Enum
Enum. UInt8/16
Примеры
Пример использования
Query
Response
getSubcolumn
Добавленный в: v23.3.0 Принимает выражение или идентификатор, а также константную строку с именем подстолбца. Возвращает запрошенный подстолбец, извлечённый из выражения. Синтаксис- Нет.
Query
Response
getTypeSerializationStreams
Добавленный в: v22.6.0 Перечисляет пути потоков типа данных. Эта функция предназначена для использования при разработке. Синтаксисcol— Столбец или строковое представление типа данных, по которому будет определён тип данных.Any
Array(String)
Примеры
tuple
Query
Response
Query
Response
globalVariable
Добавленный в: v20.5.0 Принимает константный строковый аргумент и возвращает значение глобальной переменной с этим именем. Эта функция предназначена для совместимости с MySQL и не нужна и не полезна при обычной работе ClickHouse. Определено лишь несколько фиктивных глобальных переменных. Синтаксисname— имя глобальной переменной.String
name. Any
Примеры
globalVariable
Query
Response
hasColumnInTable
Добавленный в: v1.1.0 Проверяет, существует ли указанный столбец в таблице базы данных. Для элементов во вложенной структуре данных функция проверяет наличие столбца. Для самой вложенной структуры данных функция возвращает0.
Для функции требуется привилегия
SHOW COLUMNS на целевую таблицу (тот же grant, который требуется для DESCRIBE и SHOW CREATE TABLE).
Без неё вызов завершается ошибкой ACCESS_DENIED вместо возврата 1 или 0, поэтому проверить имена столбцов без доступа нельзя.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
database— Имя базы данных.const Stringtable— Имя таблицы.const Stringcolumn— Имя столбца.const String
1, если указанный столбец существует, и 0 в противном случае. UInt8
Примеры
Проверка существующего столбца
Query
Response
Query
Response
hasThreadFuzzer
Добавленный в: v20.6.0 Возвращает, включен ли thread fuzzer. Эта функция полезна только при тестировании и отладке. Синтаксис- Нет.
UInt8
Примеры
Проверка статуса Thread Fuzzer
Query
Response
highlightQuery
Добавленный в: v26.5.0 Разбирает строку запроса ClickHouse SQL и возвращает массив диапазонов для подсветки синтаксиса. Каждый диапазон представляет собой именованный кортеж с начальной позицией (в байтах), конечной позицией и типом подсветки. Типы подсветки описывают синтаксическую роль фрагмента (ключевое слово, идентификатор, функция и т. д.) и могут использоваться для назначения цветов в интерфейсе. Внутри строковых шаблонов LIKE и REGEXP метасимволы и символы экранирования подсвечиваются отдельно. Синтаксисquery— Строка запроса ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)), представляющих выделенные диапазоны. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Примеры
простой
Query
Response
hostName
Добавленный в: v20.5.0 Возвращает имя хоста, на котором выполняется эта функция. Если функция выполняется на удалённом сервере (распределённая обработка), возвращается имя удалённого серввера. Если функция выполняется в контексте distributed таблицы, она формирует обычный столбец со значениями для каждого сегмента. В противном случае возвращается константное значение.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
hostname
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
icebergBucket
Добавленный в: v25.5.0 Реализует логику бакет-преобразования в Iceberg СинтаксисN— Количество бакетов, модуль.const (U)Int*value— Исходное значение для преобразования.(U)Int*илиBoolилиDecimalилиFloat*илиStringилиFixedStringилиUUIDилиDateилиTimeилиDateTime
Int32
Примеры
Пример
Query
Response
icebergDay
Добавленный в: v26.9.0 Реализует преобразование партицииday из Iceberg: количество дней с 1970-01-01, вычисляемое в UTC.
См. https://iceberg.apache.org/spec/#partition-transforms.
Синтаксис
value— Значение для преобразования.DateилиDate32илиDateTimeилиDateTime64
Int32
Примеры
Пример
Query
Response
icebergHour
Добавленный в: v26.9.0 Реализует преобразование партицииhour из Iceberg: количество часов, прошедших с 1970-01-01 00:00:00, вычисленное в UTC.
См. https://iceberg.apache.org/spec/#partition-transforms.
Синтаксис
value— значение для преобразования.DateTimeилиDateTime64
Int32
Примеры
Пример
Query
Response
icebergMonth
Добавленный в: v26.9.0 Реализует преобразование партиций Icebergmonth: количество месяцев, прошедших с 1970-01-01, вычисляемое в UTC.
См. https://iceberg.apache.org/spec/#partition-transforms.
Синтаксис
value— Значение для преобразования.Date,Date32,DateTimeилиDateTime64
Int32
Примеры
Пример
Query
Response
icebergTruncate
Добавленный в: v25.3.0 Реализует логику truncate-преобразования в Iceberg: https://iceberg.apache.org/spec/#truncate-transform-details. СинтаксисQuery
Response
icebergYear
Добавленный в: v26.9.0 Реализует преобразование партиции Icebergyear: количество лет, прошедших с 1970 года, вычисленное в UTC.
См. https://iceberg.apache.org/spec/#partition-transforms.
Синтаксис
value— значение для преобразования.DateилиDate32илиDateTimeилиDateTime64
Int32
Примеры
Пример
Query
Response
identity
Добавленный в: v1.1.0 Эта функция возвращает переданный ей аргумент, что полезно при отладке и тестировании. Она позволяет обойти использование индексов и вместо этого оценить производительность полного сканирования. Анализатор запросов игнорирует всё внутри функций identity при поиске подходящих индексов, а также отключает свёртку констант. Синтаксисx— Входное значение.Any
Any
Примеры
Пример использования
Query
Response
ignore
Добавленный в: v1.1.0 Принимает произвольные аргументы и всегда возвращает0.
Синтаксис
x— Входное значение, которое не используется и передаётся только для избежания синтаксической ошибки.Any
0. UInt8
Примеры
Пример использования
Query
Response
indexHint
Добавленный в: v1.1.0 Эта функция предназначена для отладки и интроспекции. Она игнорирует свой аргумент и всегда возвращает 1. Аргументы не вычисляются. При анализе индекса предполагается, что аргумент этой функции не заключён вindexHint.
Это позволяет выбирать данные в диапазонах индекса по соответствующему условию, но без последующей фильтрации по этому условию.
Индекс в ClickHouse разреженный, поэтому использование indexHint вернёт больше данных, чем прямое указание того же условия.
Объяснение
Объяснение
Когда вы выполняете:ClickHouse делает две вещи:ClickHouse делает только одно:
- Использует индекс, чтобы определить, какие гранулы (блоки примерно по 8192 строк) могут содержать
key = 123 - Читает эти гранулы и построчно фильтрует их, чтобы вернуть только строки, где
key = 123
indexHint, когда вы выполняете:- Использует индекс, чтобы определить, какие гранулы могут содержать key = 123, и возвращает все строки из этих гранул без фильтрации.
key = 456, key = 789 и т. д. (То есть всё, что оказалось сохранено в той же грануле.)
indexHint() предназначен не для повышения производительности. Он нужен для отладки и понимания того, как работает индекс ClickHouse:- Какие гранулы выбирает моё условие?
- Сколько строк находится в этих гранулах?
- Эффективно ли используется мой индекс?
indexHint невозможно. Функция indexHint не оптимизирует запрос, поскольку не предоставляет никакой дополнительной информации для анализа запроса. Наличие выражения внутри функции indexHint ничем не лучше, чем его отсутствие. Функцию indexHint можно использовать только для интроспекции и отладки, и она не повышает производительность. Если вы видите, что indexHint использует кто-либо, кроме участников ClickHouse, скорее всего, это ошибка, и его следует удалить.
Синтаксис
expression— Любое выражение для выбора диапазона индекса.Expression
1. UInt8
Примеры
Пример использования с фильтрацией по дате
Query
Response
initialQueryID
Добавленный в: v1.1.0 Возвращает ID исходного запроса. Другие параметры запроса можно извлечь из поляinitial_query_id в system.query_log.
В отличие от функции queryID, initialQueryID возвращает одинаковые результаты на разных сегментах.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
initial_query_id
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
initialQueryStartTime
Добавленный в: v25.4.0 Возвращает время начала исходного запроса.initialQueryStartTime возвращает одинаковый результат на разных сегментах.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
initial_query_start_time
Аргументы
- Нет.
DateTime
Примеры
Пример использования
Query
Response
initializeAggregation
Добавленный в: v20.6.0 Вычисляет результат агрегатной функции по одному значению. Эту функцию можно использовать для инициализации агрегатных функций с комбинатором -State. Вы можете создавать состояния агрегатных функций и вставлять их в столбцы типаAggregateFunction или использовать инициализированные агрегаты в качестве значений по умолчанию.
Синтаксис
aggregate_function— Имя агрегатной функции, которую нужно инициализировать.Stringarg1[, arg2, ...]— Аргументы агрегатной функции.Any
initializeAggregation первым аргументом. Any
Примеры
Базовое использование с uniqState
Query
Response
Query
Response
isConstant
Добавленный в: v20.3.0 Возвращает, является ли аргумент константным выражением. Константное выражение — это выражение, результат которого известен на этапе анализа запроса, то есть до выполнения. Например, выражения над литералами являются константными выражениями. Эта функция предназначена главным образом для разработки, отладки и демонстрации.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
x— выражение для проверки.Any
1, если x — константа, и 0, если x не является константой. UInt8
Примеры
Константное выражение
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
Добавленный в: v20.8.0 Проверяет, не содержит ли десятичное число слишком много цифр, чтобы поместиться в тип Decimal с заданной точностью. Синтаксисvalue— Проверяемое значение типа Decimal.Decimalprecision— Необязательно. Точность типа Decimal. Если не указано, используется исходная точность первого аргумента.UInt8
1, если десятичное значение содержит больше цифр, чем допускает его точность, и 0, если десятичное значение соответствует указанной точности. UInt8
Примеры
Пример использования
Query
Response
joinGet
Добавленный в: v18.16.0 Позволяет извлекать данные из таблицы так же, как из словаря. Получает данные из таблиц Join по указанному ключу JOIN.Поддерживает только таблицы, созданные с помощью
ENGINE = Join(ANY, LEFT, <join_keys>) оператора.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
join_storage_table_name— Идентификатор, указывающий, где выполнять поиск. Идентификатор ищется в базе данных по умолчанию (см. параметрdefault_databaseв файле конфигурации). Чтобы переопределить базу данных по умолчанию, используйте запросUSE database_nameили укажите базу данных и таблицу через точку, напримерdatabase_name.table_name.Stringvalue_column— Имя столбца таблицы, содержащего необходимые данные.const Stringjoin_keys— Список ключей JOIN.Any
Any
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
joinGetOrNull
Добавленный в: v20.4.0 Позволяет извлекать данные из таблицы так же, как из словаря. Извлекает данные из таблиц Join по указанному ключу JOIN. В отличие отjoinGet возвращает NULL, если ключ отсутствует.
Поддерживает только таблицы, созданные с помощью оператора
ENGINE = Join(ANY, LEFT, <join_keys>) оператор.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
join_storage_table_name— Идентификатор, указывающий, где выполнять поиск. Поиск по идентификатору выполняется в базе данных по умолчанию (см. параметр default_database в файле конфигурации). Чтобы переопределить базу данных по умолчанию, используйте запросUSE database_nameили укажите базу данных и таблицу через точку, напримерdatabase_name.table_name.Stringvalue_column— Имя столбца таблицы, содержащего необходимые данные.const Stringjoin_keys— Список ключей JOIN.Any
NULL, если ключ не найден. Any
Примеры
Пример использования
Query
Response
lowCardinalityIndices
Добавленный в: v18.12.0 Возвращает позицию значения в словаре столбца LowCardinality. Нумерация позиций начинается с 1. Поскольку у LowCardinality используются словари на уровне частей, эта функция может возвращать разные позиции для одного и того же значения в разных частях.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
col— Столбец с низкой кардинальностью.LowCardinality
UInt64
Примеры
Примеры использования
Query
Response
lowCardinalityKeys
Добавленный в: v18.12.0 Возвращает значения словаря столбца LowCardinality. Если размер блока меньше или больше размера словаря, результат будет усечён или дополнен значениями по умолчанию. Поскольку LowCardinality использует словари на уровне частей, эта функция может возвращать разные значения словаря в разных частях.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
col— Столбец с низкой кардинальностью.LowCardinality
UInt64
Примеры
lowCardinalityKeys
Query
Response
materialize
Добавленный в: v1.1.0 Преобразует константу в полный столбец, содержащий одно значение. Полные столбцы и константы по-разному представлены в памяти. Функции обычно выполняют разный код для обычных и константных аргументов, хотя результат, как правило, должен быть одинаковым. Эту функцию можно использовать для отладки такого поведения. Синтаксисx— Константа.Any
Any
Примеры
Пример использования
Query
Response
Query
Response
minSampleSizeContinuous
Добавленный в: v23.10.0 Вычисляет минимально необходимый размер выборки для A/B-теста, сравнивающего средние значения непрерывной метрики в двух выборках. Использует формулу, описанную в этой статье. Предполагаются одинаковые размеры экспериментальной и контрольной групп. Возвращает требуемый размер выборки для одной группы (то есть для всего эксперимента нужен размер выборки вдвое больше возвращаемого значения). Также предполагается одинаковая дисперсия тестовой метрики в экспериментальной и контрольной группах. СинтаксисminSampleSizeContinous
Аргументы
baseline— Базовое значение метрики.(U)Int*илиFloat*sigma— Базовое стандартное отклонение метрики.(U)Int*илиFloat*mde— Минимальный обнаруживаемый эффект (MDE) в процентах от базового значения (например, для базового значения 112.25 MDE 0.03 означает ожидаемое изменение до 112.25 ± 112.25*0.03).(U)Int*илиFloat*power— Требуемая статистическая мощность теста (1 - вероятность ошибки II рода).(U)Int*илиFloat*alpha— Требуемый уровень значимости теста (вероятность ошибки I рода).(U)Int*илиFloat*
minimum_sample_size, detect_range_lower и detect_range_upper. Это соответственно: требуемый размер выборки, нижняя граница диапазона значений, которые нельзя обнаружить при вычисленном требуемом размере выборки, рассчитываемая как baseline * (1 - mde), и верхняя граница диапазона значений, которые нельзя обнаружить при вычисленном требуемом размере выборки, рассчитываемая как baseline * (1 + mde) (Float64). Tuple(Float64, Float64, Float64)
Примеры
minSampleSizeContinuous
Query
Response
minSampleSizeConversion
Добавленный в: v22.6.0 Вычисляет минимально необходимый размер выборки для A/B-теста, сравнивающего конверсии (доли) в двух выборках. Использует формулу, описанную в этой статье. Предполагается, что размеры экспериментальной и контрольной групп одинаковы. Возвращает размер выборки, необходимый для одной группы (то есть для всего эксперимента требуется выборка вдвое больше возвращаемого значения). Синтаксисbaseline— Базовая конверсия.Float*mde— Минимальный обнаруживаемый эффект (MDE) в процентных пунктах (например, при базовой конверсии 0.25 значение MDE 0.03 означает ожидаемое изменение до 0.25 ± 0.03).Float*power— Требуемая статистическая мощность теста (1 - вероятность ошибки II рода).Float*alpha— Требуемый уровень значимости теста (вероятность ошибки I рода).Float*
minimum_sample_size, detect_range_lower, detect_range_upper. Это, соответственно: требуемый размер выборки, нижняя граница диапазона значений, которые невозможно обнаружить при вычисленном требуемом размере выборки, рассчитываемая как baseline - mde, и верхняя граница диапазона значений, которые невозможно обнаружить при вычисленном требуемом размере выборки, рассчитываемая как baseline + mde. Tuple(Float64, Float64, Float64)
Примеры
minSampleSizeConversion
Query
Response
neighbor
Добавленный в: v20.1.0 Возвращает значение из столбца с указанным смещением относительно текущей строки. Эта функция устарела и подвержена ошибкам, поскольку работает с физическим порядком блоков данных, который может не совпадать с логическим порядком, ожидаемым пользователями. Вместо неё рекомендуется использовать корректные оконные функции. Функцию можно включить, установивallow_deprecated_error_prone_window_functions = 1.
Синтаксис
column— Исходный столбец.Anyoffset— Смещение относительно текущей строки. Положительные значения указывают вперёд, отрицательные — назад.Integerdefault_value— Необязательно. Значение, которое возвращается, если смещение выходит за пределы данных. Если не указано, используется значение по умолчанию для типа столбца.Any
Any
Примеры
Пример использования
Query
Response
Query
Response
normalizeQuery
Добавленный в: v20.8.0 Заменяет литералы, последовательности литералов и сложные псевдонимы (с пробельными символами, более чем двумя цифрами или длиной не менее 36 байт, например UUID) плейсхолдером?.
Синтаксис
x— Строка символов.String
String
Примеры
Пример использования
Query
Response
normalizeQueryKeepNames
Добавленный в: v21.2.0 Заменяет литералы и последовательности литералов плейсхолдером?, но не заменяет сложные псевдонимы (содержащие пробельные символы, более двух цифр или имеющие длину не менее 36 байт, например UUID).
Это помогает лучше анализировать журналы сложных запросов.
Синтаксис
x— Последовательность символов.String
String
Примеры
Пример использования
Query
Response
normalizedQueryHash
Добавленный в: v20.8.0 Возвращает одинаковые 64-битные хеш-значения для похожих запросов без учёта значений литералов. Может быть полезно при анализе журнала запросов. Синтаксисx— Последовательность символов.String
UInt64
Примеры
Пример использования
Query
Response
normalizedQueryHashKeepNames
Добавленный в: v21.2.0 Как иnormalizedQueryHash, возвращает одинаковые 64-битные хеш-значения для похожих запросов без учёта значений литералов, но не заменяет сложные псевдонимы (содержащие пробелы, более двух цифр или имеющие длину не менее 36 байт, например UUID) на плейсхолдер перед хешированием.
Может быть полезна при анализе журнала запросов.
Синтаксис
x— Последовательность символов.String
UInt64
Примеры
Пример использования
Query
Response
obfuscateQuery
Добавленный в: v26.4.0 Позволяет обфусцировать SQL-запрос, заменяя идентификаторы случайными словами, а литералы — случайными значениями, при этом сохраняя структуру запроса. Эта функция полезна для анонимизации запросов перед логированием или предоставлением в общий доступ в целях отладки. Даже для одного и того же исходного запроса разные строки будут давать разные обфусцированные результаты, что помогает сохранять конфиденциальность при работе с несколькими запросами. Необязательный параметрtag предотвращает устранение общих подвыражений, когда один и тот же вызов функции
используется в запросе несколько раз. Это гарантирует, что каждый вызов даст свой обфусцированный результат.
Возможности:
- Заменяет имена таблиц, имена столбцов и псевдонимы случайными словами
- Заменяет числовые и строковые литералы случайными значениями
- Сохраняет общую структуру запроса и синтаксис SQL
- Выдаёт разные результаты для разных строк
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
query— SQL-запрос, который нужно обфусцировать.Stringtag— Необязательно. Значение, которое позволяет предотвратить устранение общих подвыражений, если один и тот же вызов функции используется несколько раз.
String
Примеры
Базовое использование
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
Добавленный в: v26.4.0 Обфусцирует SQL-запрос с использованием указанного seed, обеспечивая детерминированные результаты. В отличие отobfuscateQuery(), эта функция выдает детерминированные результаты при использовании одного и того же seed.
Это полезно, когда требуется согласованная обфускация в нескольких запусках или когда нужно
воспроизвести один и тот же обфусцированный запрос для тестирования или отладки.
Возможности:
- Детерминированная обфускация на основе указанного seed
- Один и тот же seed всегда дает один и тот же обфусцированный результат
- Разные seed дают разные результаты
- Сохраняет структуру запроса, как и obfuscateQuery()
- Воспроизводимые тестовые сценарии
- Согласованная анонимизация в нескольких запусках
- Отладка с согласованно обфусцированными запросами
query— SQL-запрос для обфускации.Stringseed— seed для обфускации. Один и тот же seed даёт детерминированные результаты.IntegerилиString
String
Примеры
Детерминированная обфускация с целочисленным seed
Query
Response
Query
Response
Query
Response
parseISO8601Duration
Добавлено в: v26.9.0 Разбирает строку длительности ISO 8601 и возвращает количество секунд. Длительность начинается сP, за которым следуют необязательные компоненты даты и необязательная секция времени,
начинающаяся с T:
W— неделиD— дниT— начинает секцию времениH— часыM— минуты, только послеTS— секунды
PT0.5H допустимо и возвращает 1800.
Обозначения должны идти в указанном выше порядке, и каждое может встречаться не более одного раза. Обозначение недели можно
сочетать с остальными, в отличие от ISO 8601:2004, где оно используется отдельно от других.
Обозначение года (Y) и обозначение месяца (M) перед T отклоняются, поскольку ни год,
ни месяц не имеют фиксированной длины в секундах. Такие длительности следует преобразовывать относительно опорной даты.
Две формы, допускаемые стандартом и его расширениями, не принимаются:
- запятая в качестве десятичного разделителя, как в
PT1,5S— используйте точку - ведущий знак, как в
-PT1S, — он пришёл из RFC 3339 и XML Schema, а не из основной грамматики
duration— строка длительности в формате ISO 8601.String
Float64
Примеры
Пример использования
Query
Response
Query
Response
parseQueryToJSON
Добавлено в: v26.8.0 Разбирает строку SQL-запроса в AST (абстрактное синтаксическое дерево) и возвращает JSON-представление этого дерева. Полученный JSON можно передать вformatQueryFromJSON для восстановления SQL-запроса или напрямую отправить
на сервер, указав значение clickhouse_json для настройки dialect (при включённой настройке enable_json_ast_dialect).
Это полезно для инструментов, которым необходимо программно анализировать или преобразовывать запросы, минуя
грамматику SQL.
Не для каждого SQL-запроса можно получить точное JSON-представление. Запросы, содержащие данные, которые невозможно
воспроизвести в JSON-форме (например, встроенные данные INSERT ... VALUES / INSERT ... FORMAT), а также типы узлов AST,
для которых ещё не реализована JSON-сериализация, отклоняются с ошибкой BAD_ARGUMENTS, вместо создания JSON, который
formatQueryFromJSON не сможет прочитать обратно.
Ограничения разбора (max_query_size, max_parser_depth, max_parser_backtracks) берутся из текущих
настроек сеанса.
Синтаксис
sql— строка SQL-запроса для разбора.String
String
Примеры
Простой SELECT
Query
Response
parseReadableSize
Добавленный в: v24.6.0 Эта функция принимает строку, содержащую размер в байтах и единицу измеренияB, KiB, KB, MiB, MB и т. д. (то есть ISO/IEC 80000-13 или десятичную байтовую единицу), и возвращает соответствующее количество байт.
Если функция не может разобрать входное значение, она генерирует исключение.
Обратными операциями этой функции являются formatReadableSize и formatReadableDecimalSize.
Синтаксис
x— Размер в удобочитаемом формате с единицами ISO/IEC 80000-13 или десятичными байтовыми единицами.String
UInt64
Примеры
Пример использования
Query
Response
parseReadableSizeOrNull
Добавленный в: v24.6.0 Если строка содержит размер в байтах и единицу измеренияB, KiB, KB, MiB, MB и т. д. (то есть ISO/IEC 80000-13 или десятичную единицу измерения байтов), эта функция возвращает соответствующее количество байтов.
Если функция не может разобрать входное значение, она возвращает NULL.
Обратными операциями для этой функции являются formatReadableSize и formatReadableDecimalSize.
Синтаксис
x— Размер в удобочитаемом формате с единицами ISO/IEC 80000-13 или десятичными байтовыми единицами.String
NULL, если входное значение не удаётся разобрать Nullable(UInt64)
Примеры
Пример использования
Query
Response
parseReadableSizeOrZero
Добавленный в: v24.6.0 Для строки, содержащей размер в байтах и единицу измеренияB, KiB, KB, MiB, MB и т. д. (то есть ISO/IEC 80000-13 или десятичную байтовую единицу), эта функция возвращает соответствующее количество байтов.
Если функция не может разобрать входное значение, она возвращает 0.
Обратными операциями для этой функции являются formatReadableSize и formatReadableDecimalSize.
Синтаксис
x— Размер в удобочитаемом формате по ISO/IEC 80000-13 или в десятичных единицах измерения байтов.String
0, если не удалось разобрать входное значение. UInt64
Примеры
Пример использования
Query
Response
parseTimeDelta
Добавленный в: v22.7.0 Разбирает последовательность чисел, за которой следует обозначение, похожее на единицу времени. Строка с дельтой времени использует следующие обозначения единиц времени:years,year,yr,ymonths,month,moweeks,week,wdays,day,dhours,hour,hr,hminutes,minute,min,mseconds,second,sec,smilliseconds,millisecond,millisec,msmicroseconds,microsecond,microsec,μs,µs,usnanoseconds,nanosecond,nanosec,ns
;, -, +, ,, :).
Длительность года и месяца приблизительна: год принимается равным 365 дням, месяц — 30,5 дня.
Синтаксис
timestr— Последовательность чисел, за которой следует нечто, напоминающее единицу времени.String
Float64
Примеры
Пример использования
Query
Response
Query
Response
partitionId
Добавленный в: v21.4.0 Вычисляет идентификатор партиции.Эта функция работает медленно, поэтому её не следует вызывать для большого числа строк.
partitionID
Аргументы
column1, column2, ...— Столбец, для которого возвращается идентификатор партиции.
String
Примеры
Пример использования
Query
Response
pgGetUserById
Добавлена в версии v26.8.0 Функция совместимости с протоколом PostgreSQL, аналогpg_catalog.pg_get_userbyid.
Клиенты PostgreSQL (например, команда \d в psql) используют её для отображения владельца таблицы.
ClickHouse не отслеживает владельцев таблиц, поэтому функция игнорирует аргумент и возвращает имя текущего пользователя.
Эта функция недетерминированная: она может возвращать разные результаты при одинаковых аргументах.
pg_get_userbyid
Аргументы
oid— идентификатор объекта роли. Значение игнорируется.UInt32
String
Примеры
Пример использования
Query
Response
pgTableIsVisible
Добавлено в: v26.8.0 Функция совместимости с протоколом PostgreSQL, аналогpg_catalog.pg_table_is_visible.
Клиенты PostgreSQL (например, команда \d в psql) используют её для фильтрации таблиц, видимых в пути поиска.
Поскольку эмулируемое ClickHouse представление pg_class содержит только таблицы текущей базы данных, все они видимы, поэтому функция всегда возвращает 1.
Синтаксис
pg_table_is_visible
Аргументы
oid— идентификатор объекта таблицы, предоставляемый эмулируемым представлениемpg_class. Значение игнорируется.UInt32
1. UInt8
Примеры
Пример использования
Query
Response
queryID
Добавленный в: v21.9.0 Возвращает идентификатор текущего запроса. Другие параметры запроса можно извлечь из поляquery_id таблицы system.query_log.
В отличие от функции initialQueryID, queryID может возвращать разные результаты на разных сегментах.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
query_id
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
revision
Добавленный в: v22.7.0 Возвращает текущую ревизию сервера ClickHouse.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
UInt32
Примеры
Пример использования
Query
Response
rowNumberInAllBlocks
Добавленный в: v1.1.0 Возвращает уникальный номер для каждой обрабатываемой строки.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- None.
0. UInt64
Примеры
Пример использования
Query
Response
rowNumberInBlock
Добавленный в: v1.1.0 Для каждого блока, обрабатываемого функциейrowNumberInBlock, возвращает номер текущей строки.
Возвращаемый номер начинается с 0 в каждом блоке.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
0. UInt64
Примеры
Пример использования
Query
Response
runningAccumulate
Добавленный в: v1.1.0 Накапливает состояния агрегатной функции для каждой строки блока данных. Синтаксисagg_state— Состояние агрегатной функции.AggregateFunctiongrouping— Необязательный. Ключ группировки. Состояние функции сбрасывается при изменении значенияgrouping. Это может быть любой из поддерживаемых типов данных, для которых определён оператор равенства.Any
Any
Примеры
Пример использования с initializeAggregation
Query
Response
runningConcurrency
Добавленный в: v21.3.0 Вычисляет количество параллельно происходящих событий. У каждого события есть время начала и время окончания. Время начала включается в событие, а время окончания — нет. Столбцы со временем начала и временем окончания должны иметь один и тот же тип данных. Функция вычисляет общее количество активных (параллельных) событий для каждого времени начала события.Эта функция недетерминированная: она может возвращать разные результаты при одних и тех же аргументах.
start— столбец со временем начала событий.DateилиDateTimeилиDateTime64end— столбец со временем окончания событий.DateилиDateTimeилиDateTime64
UInt32
Примеры
Пример использования
Query
Response
runningDifference
Добавленный в: v1.1.0 Вычисляет разность между значениями двух последовательных строк в блоке данных. Возвращает0 для первой строки, а для каждой следующей — разность относительно предыдущей строки.
Результат функции зависит от того, какие блоки данных были затронуты, и от порядка данных в блоке.
Порядок строк при вычислении runningDifference() может отличаться от порядка строк, возвращаемых пользователю.
Чтобы этого избежать, можно создать подзапрос с ORDER BY и вызвать функцию вне этого подзапроса.
Обратите внимание, что размер блока влияет на результат.
Внутреннее состояние runningDifference сбрасывается для каждого нового блока.
Синтаксис
x— столбец, для которого вычисляется разность с предыдущим значением.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
Добавленный в: v1.1.0 Вычисляет разность между значениями соседних строк в блоке данных, но, в отличие отrunningDifference, возвращает фактическое значение первой строки вместо 0.
Синтаксис
x— столбец, для которого вычисляется разность с предыдущей строкой.Any
Any
Примеры
Пример использования
Query
Response
serverUUID
Добавленный в: v20.1.0 Возвращает случайный уникальный UUID (v4), сгенерированный при первом запуске сервера. UUID сохраняется, то есть при втором, третьем и последующих запусках сервера возвращается тот же UUID.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UUID
Примеры
Пример использования
Query
Response
shardCount
Добавленный в: v21.9.0 Возвращает общее количество сегментов в распределённом запросе. Если запрос не является распределённым, возвращается константное значение0.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- None.
0. UInt32
Примеры
Пример использования
Query
Response
shardNum
Добавленный в: v21.9.0 Возвращает индекс сегмента, который обрабатывает часть данных в распределённом запросе. Нумерация индексов начинается с1.
Если запрос не является распределённым, возвращается постоянное значение 0.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Нет.
0. UInt32
Примеры
Пример использования
Query
Response
showCertificate
Добавленный в: v22.6.0 Показывает информацию о текущем SSL-сертификате сервера, если он настроен. Возвращает пустой Map, если у сервера нет сертификата, например когда сертификат запрашивается через ACME, но ещё не выпущен. Подробнее о том, как настроить ClickHouse для использования сертификатов OpenSSL для проверки подключений, см. в разделе Настройка TLS.Эта функция недетерминированная: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
Map(String, String)
Примеры
Пример использования
Query
Response
sleep
Добавленный в: v1.1.0 Приостанавливает выполнение запроса на указанное число секунд. Функция в основном используется для тестирования и отладки. Как правило, функциюsleep() не следует использовать в продакшн-средах, так как она может отрицательно влиять на производительность запросов и отзывчивость системы.
Однако она может быть полезна в следующих сценариях:
- Тестирование: При тестировании или бенчмаркинге ClickHouse может потребоваться имитировать задержки или добавлять паузы, чтобы наблюдать, как система ведет себя в определенных условиях.
- Отладка: Если вам нужно проверить состояние системы или выполнение запроса в определенный момент времени, можно использовать
sleep()для добавления паузы, чтобы просмотреть или собрать нужную информацию. - Моделирование: В некоторых случаях может потребоваться смоделировать реальные сценарии, в которых возникают задержки или паузы, например сетевую задержку или зависимости от внешних систем.
default (с включенным allow_sleep).
Синтаксис
seconds— Количество секунд, на которое приостанавливается выполнение запроса; не более 3 секунд. Для указания долей секунды можно использовать число с плавающей точкой.const UInt*илиconst Float*
0. UInt8
Примеры
Пример использования
Query
Response
sleepEachRow
Добавленный в: v1.1.0 Приостанавливает выполнение запроса на указанное число секунд для каждой строки в результирующем наборе. ФункцияsleepEachRow() в основном используется для тестирования и отладки, аналогично функции sleep().
Она позволяет имитировать задержки или делать паузы при обработке каждой строки, что может быть полезно в таких сценариях, как:
- Тестирование: При тестировании или бенчмаркинге производительности ClickHouse в определенных условиях можно использовать
sleepEachRow(), чтобы имитировать задержки или делать паузы при обработке каждой строки. - Отладка: Если вам нужно проверить состояние системы или выполнение запроса для каждой обрабатываемой строки, можно использовать
sleepEachRow(), чтобы делать паузы и получать возможность просматривать или собирать нужную информацию. - Моделирование: В некоторых случаях может потребоваться смоделировать реальные сценарии, в которых при обработке каждой строки возникают задержки или паузы, например при взаимодействии с внешними системами или из-за сетевых задержек.
seconds— Количество секунд, на которое приостанавливается выполнение запроса для каждой строки результирующего набора, не более 3 секунд. Для указания долей секунды можно использовать значение с плавающей точкой.const UInt*илиconst Float*
0 для каждой строки. UInt8
Примеры
Пример использования
Query
Response
structureToCapnProtoSchema
Добавленный в: v23.8.0 Функция, преобразующая структуру таблицы ClickHouse в схему формата CapnProto Синтаксис- Отсутствуют.
Query
Response
structureToProtobufSchema
Добавленный в: v23.8.0 Преобразует структуру таблицы ClickHouse в схему в формате Protobuf. Эта функция принимает описание структуры таблицы ClickHouse и преобразует его в определение схемы Protocol Buffers (Protobuf) в синтаксисе proto3. Это полезно для генерации схем Protobuf, соответствующих структурам таблиц ClickHouse, для обмена данными. Синтаксисstructure— определение структуры таблицы ClickHouse в виде строки (например, ‘column1 Type1, column2 Type2’).Stringmessage_name— имя типа сообщения Protobuf в сгенерированной схеме.String
String
Примеры
Преобразование структуры ClickHouse в схему Protobuf
Query
Response
tcpPort
Добавленный в: v20.12.0 Возвращает номер TCP-порта нативного интерфейса, на котором сервер прослушивает подключения. Если функция выполняется в контексте distributed таблицы, она создает обычный столбец со значениями, относящимися к каждому сегменту. В противном случае возвращает константное значение.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UInt16
Примеры
Пример использования
Query
Response
throwIf
Добавленный в: v1.1.0 Генерирует исключение, если аргумент x равен true. Чтобы использовать аргументerror_code, должен быть включен параметр конфигурации allow_custom_error_code_in_throw.
Синтаксис
x— Условие для проверки.Anymessage— Необязательно. Произвольное сообщение об ошибке.const Stringerror_code— Необязательно. Произвольный код ошибки.const Int8/16/32
0, если условие ложно, и генерирует исключение, если условие истинно. UInt8
Примеры
Пример использования
Query
Response
toColumnTypeName
Добавленный в: v1.1.0 Возвращает внутреннее имя типа данных указанного значения. В отличие от функцииtoTypeName, возвращаемый тип данных может включать внутренние столбцы-обёртки, такие как Const и LowCardinality.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
value— Значение, для которого требуется вернуть внутренний тип данных.Any
String
Примеры
Пример использования
Query
Response
toTypeName
Добавленный в: v1.1.0 Возвращает имя типа переданного аргумента. Если переданNULL, функция возвращает тип Nullable(Nothing), который соответствует внутреннему представлению NULL в ClickHouse.
Синтаксис
x— Значение произвольного типа.Any
String
Примеры
Пример использования
Query
Response
tokenizeQuery
Добавленный в: v26.5.0 Разбивает строку запроса ClickHouse SQL на токены и возвращает массив токенов. Каждый токен представляет собой именованный кортеж с начальной позицией (в байтах), конечной позицией и типом токена. Синтаксисquery— Строка запроса ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)), представляющих токены запроса. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Примеры
простой
Query
Response
transactionID
Добавленный в: v22.6.0 Возвращает идентификатор транзакции.Эта функция входит в набор экспериментальных возможностей.
Чтобы включить экспериментальную поддержку транзакций, добавьте этот параметр в конфигурацию:Дополнительные сведения см. на странице Поддержка транзакций (ACID).
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
start_csn, local_tid, host_id и session_node_version.
start_csn: Глобальный последовательный номер — самая поздняя временная метка commit, видимая на момент начала этой транзакции.local_tid: Локальный последовательный номер, уникальный для каждой транзакции, начатой этим хостом в рамках конкретного start_csn.host_id: UUID хоста, который начал эту транзакцию.session_node_version: Версия znode сеанса хоста на момент начала транзакции; позволяет peer-узлам обнаруживать TID мёртвого сеанса на репликах.Tuple(UInt64, UInt64, UUID, Int64)
Query
Response
transactionLatestSnapshot
Добавленный в: v22.6.0 Возвращает последний снимок (Commit Sequence Number) транзакции, доступный для чтения.Эта функция входит в набор экспериментальных возможностей. Чтобы включить экспериментальную поддержку транзакций, добавьте этот параметр в конфигурацию:Дополнительные сведения см. на странице Поддержка транзакций (ACID).
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
transactionOldestSnapshot
Добавленный в: v22.6.0 Возвращает самый старый снимок (Commit Sequence Number), который виден некоторой выполняющейся транзакции.Эта функция входит в набор экспериментальных возможностей. Включите экспериментальную поддержку транзакций, добавив эту настройку в конфигурацию:Дополнительные сведения см. на странице Поддержка транзакций (ACID).
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
transform
Добавленный в: v1.1.0 Преобразует значение в соответствии с явно заданным сопоставлением одних элементов с другими. У этой функции есть два варианта:transform(x, array_from, array_to, default)- преобразуетxс помощью массивов сопоставления, используя значение по умолчанию для элементов без совпаденийtransform(x, array_from, array_to)- выполняет то же преобразование, но возвращает исходноеx, если совпадение не найдено
x в array_from и возвращает соответствующий элемент из array_to с тем же индексом.
Если x не найден в array_from, она возвращает либо значение default (версия с 4 параметрами), либо исходное x (версия с 3 параметрами).
Если в array_from есть несколько совпадающих элементов, возвращается элемент, соответствующий первому совпадению.
Требования:
array_fromиarray_toдолжны содержать одинаковое количество элементов- Для версии с 4 параметрами:
transform(T, Array(T), Array(U), U) -> U, гдеTиUмогут быть разными совместимыми типами - Для версии с 3 параметрами:
transform(T, Array(T), Array(T)) -> T, где все типы должны быть одинаковыми
x— Значение для преобразования.(U)Int*илиDecimalилиFloat*илиStringилиDateилиDateTimearray_from— Постоянный массив значений для поиска совпадений.Array((U)Int*)илиArray(Decimal)илиArray(Float*)илиArray(String)илиArray(Date)илиArray(DateTime)array_to— Постоянный массив значений, возвращаемых при соответствующих совпадениях вarray_from.Array((U)Int*)илиArray(Decimal)илиArray(Float*)илиArray(String)илиArray(Date)илиArray(DateTime)default— Необязательно. Значение, возвращаемое, еслиxне найден вarray_from. Если не указано, возвращаетсяxбез изменений.(U)Int*илиDecimalилиFloat*илиStringилиDateилиDateTime
array_to, если x совпадает с элементом в array_from; в противном случае возвращает default (если указан) или x (если default не указан). Any
Примеры
transform(T, Array(T), Array(U), U) -> U
Query
Response
Query
Response
uniqThetaIntersect
Добавленный в: v22.9.0 Два объекта типа uniqThetaSketch используются для вычисления пересечения (операция над множествами ∩); результатом является новый объект типа uniqThetaSketch. СинтаксисuniqThetaSketch— объект типа uniqThetaSketch.TupleилиArrayилиDateилиDateTimeилиStringили(U)Int*илиFloat*илиDecimal
UInt64
Примеры
Пример использования
Query
Response
uniqThetaNot
Добавленный в: v22.9.0 Выполняет вычисление a_not_b над двумя объектами типа uniqThetaSketch (операция над множествами ×); результатом является новый объект типа uniqThetaSketch. СинтаксисuniqThetaSketch— объект типа uniqThetaSketch.TupleилиArrayилиDateилиDateTimeилиStringили(U)Int*илиFloat*илиDecimal
UInt64
Примеры
Пример использования
Query
Response
uniqThetaUnion
Добавленный в: v22.9.0 Два объекта типа uniqThetaSketch для вычисления объединения (операция над множествами ∪); результатом является новый объект типа uniqThetaSketch. СинтаксисuniqThetaSketch— объект типа uniqThetaSketch.TupleилиArrayилиDateилиDateTimeилиStringили(U)Int*илиFloat*илиDecimal
UInt64
Примеры
Пример использования
Query
Response
uptime
Добавленный в: v1.1.0 Возвращает время непрерывной работы сервера в секундах. Если функция выполняется в контексте distributed таблицы, она создаёт обычный столбец со значениями для каждого сегмента. В противном случае возвращается постоянное значение.Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UInt32
Примеры
Пример использования
Query
Response
variantElement
Добавленный в: v25.2.0 Извлекает из столбцаVariant столбец указанного типа.
Синтаксис
variant— столбец типа Variant.Varianttype_name— имя типа варианта, который нужно извлечь.Stringdefault_value— значение по умолчанию, которое будет использоваться, еслиvariantне содержит варианта указанного типа. Может быть любого типа. Необязательный параметр.Any
Any
Примеры
Пример использования
Query
Response
variantType
Добавленный в: v24.2.0 Возвращает имя типа варианта для каждой строки столбцаVariant. Если строка содержит NULL, для неё возвращается значение ‘None’.
Синтаксис
variant— столбец типа Variant.Variant
Enum
Примеры
Пример использования
Query
Response
version
Добавленный в: v1.1.0 Возвращает текущую версию ClickHouse в виде строки в формате:major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release.
Если функция выполняется в контексте distributed таблицы, она формирует обычный столбец со значениями для каждого сегмента.
В противном случае возвращается константное значение.
Эта функция является недетерминированной: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
visibleWidth
Добавленный в: v1.1.0 Вычисляет приблизительную ширину значений при их выводе в консоль в текстовом формате (с разделением табуляцией). Эта функция используется системой для реализации форматов Pretty.NULL представляется строкой, соответствующей NULL в форматах Pretty.
Синтаксис
x— Значение любого типа данных.Any
UInt64
Примеры
Вычисление отображаемой ширины NULL
Query
Response
zookeeperSessionUptime
Добавленный в: v21.11.0 Возвращает время непрерывной работы текущего сеанса ZooKeeper в секундах.Эта функция недетерминированная: она может возвращать разные результаты для одних и тех же аргументов.
- Отсутствуют.
UInt32
Примеры
Пример использования
Query
Response