Приведённая ниже документация по функциям сгенерирована на основе системной таблицы
system.functions.FQDN
fullHostName
Аргументы
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
MACNumToString
UInt64 как MAC-адрес в формате big-endian.
Возвращает соответствующий MAC-адрес в формате AA:BB:CC:DD:EE:FF (шестнадцатеричные числа, разделённые двоеточиями) в виде строки.
Синтаксис
num— число типа UInt64.UInt64
String
Примеры
Пример использования
Query
Response
MACStringToNum
s— строка MAC-адреса.String
UInt64
Примеры
Пример использования
Query
Response
MACStringToOUI
s— строка MAC-адреса.String
UInt64
Примеры
Пример использования
Query
Response
authenticatedUser
authUser
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
bar
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
- Отсутствуют.
UInt64
Примеры
Базовое использование
Query
Response
blockSerializedSize
x1[, x2, ...]— Любое количество значений, для которых нужно получить размер блока в несжатом виде.Any
UInt64
Примеры
Пример использования
Query
Response
blockSize
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
buildId
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
byteSize
String функция возвращает длину строки + 8 (длина).
Если у функции несколько аргументов, она суммирует их размеры в байтах.
Синтаксис
arg1[, arg2, ...]— Значения любого типа данных, для которых требуется оценить размер в байтах в несжатом виде.Any
UInt64
Примеры
Пример использования
Query
Response
Query
Response
catboostEvaluate
- Соберите библиотеку для оценки CatBoost
libcatboostmodel.<so|dylib> была доступна. См. документацию CatBoost, чтобы узнать, как ее скомпилировать.
Затем укажите путь к libcatboostmodel.<so|dylib> в конфигурации ClickHouse:
catboostEvaluate() сервер запускает процесс clickhouse-library-bridge, если он ещё не запущен. Оба процесса
взаимодействуют через HTTP-интерфейс. По умолчанию используется порт 9012. Другой порт можно указать следующим образом — это полезно, если порт
9012 уже занят другим сервисом.
- Обучите модель CatBoost с использованием libcatboost
path_to_model— Путь к модели CatBoost.const Stringfeature— Один или несколько признаков (аргументов) модели.Float*
Float64
Примеры
catboostEvaluate
Query
Response
colorOKLABToSRGB
- L: перцептивная светлота (обычно в диапазоне [0..1])
- a: зелено-красная оппонентная ось
- b: сине-желтая оппонентная ось
- Преобразование из OKLab в линейный sRGB. 2) Преобразование из линейного 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
L выходит за пределы диапазона [0...1], C отрицательно или H выходит за пределы диапазона [0...360], результат зависит от реализации.
OKLCH — это цилиндрическая версия цветового пространства OKLab.
Его три координаты —
L (светлота в диапазоне [0...1]), C (цветность >= 0) и H (цветовой тон в градусах из диапазона [0...360]).
OKLab/OKLCH спроектировано так, чтобы быть перцептуально однородным и при этом оставаться вычислительно недорогим.colorSRGBToOKLCH:
- Из OKLCH в OKLab. 2) Из OKLab в линейный sRGB 3) Из линейного 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
[0...255] или значение гаммы не является положительным, поведение зависит от реализации.
OKLAB — это перцептуально равномерное цветовое пространство.
Его три координаты:
L (светлота в диапазоне [0...1]), a (Green-Red axis) и b (Blue-Yellow axis).
OKLab спроектировано так, чтобы оставаться перцептуально равномерным и при этом требовать минимум вычислений.- из sRGB в линейный sRGB 2) из линейного 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
[0...255] или значение гаммы не является положительным, поведение зависит от реализации.
OKLCH — это цилиндрическая версия цветового пространства OKLab.
Его три координаты —
L (светлота в диапазоне [0...1]), C (цветность >= 0) и H (цветовой тон в градусах в диапазоне [0...360]).
OKLab/OKLCH спроектировано так, чтобы быть перцептуально равномерным и при этом оставаться вычислительно недорогим.- из sRGB в линейный sRGB 2) из линейного sRGB в OKLab 3) из 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
CONNECTION_ID.
Обычно она не используется в запросах для продакшна.
Синтаксис
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
countDigits
Эта функция учитывает scale десятичных значений, то есть вычисляет результат по базовому целочисленному типу, то есть по
(value * scale).Например:countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x. UInt8
Примеры
Пример использования
Query
Response
currentDatabase
CREATE TABLE, где требуется указать базу данных.
См. также оператор SET.
Синтаксис
current_database, SCHEMA, DATABASE
Аргументы
- None.
String
Примеры
Пример использования
Query
Response
Query
Response
currentProfiles
- Отсутствуют.
Array(String)
Примеры
Пример использования
Query
Response
currentQueryID
current_query_id
Аргументы
- Отсутствуют.
Query
Response
currentRoles
- Отсутствуют.
Array(String)
Примеры
Пример использования
Query
Response
currentSchemas
currentDatabase, но:
- принимает булев аргумент, который игнорируется
- возвращает имя базы данных в виде массива с одним значением.
currentSchemas существует только для совместимости с PostgreSQL.
Используйте вместо неё currentDatabase.
См. также оператор SET.
Синтаксис
current_schemas
Аргументы
bool— Логическое значение, которое игнорируется.Bool
Array(String)
Примеры
Пример использования
Query
Response
currentUser
session_user, user, current_user
Аргументы
- None.
String
Примеры
Пример использования
Query
Response
Query
Response
defaultProfiles
- Отсутствуют.
Array(String)
Примеры
Пример использования
Query
Response
defaultRoles
- Нет.
Array(String)
Примеры
Пример использования
Query
Response
defaultValueOfArgumentType
expression— значение произвольного типа или выражение, результатом которого является значение произвольного типа.Any
0 для чисел, пустую строку для строк или NULL для типа Nullable. UInt8 или String или NULL
Примеры
Пример использования
Query
Response
Query
Response
defaultValueOfTypeName
type— Строка с именем типа.String
0 для чисел, пустую строку для строк или NULL для Nullable UInt8 или String или NULL
Примеры
Пример использования
Query
Response
Query
Response
displayName
display_name из конфигурации или полное доменное имя (FQDN) сервера, если оно не задано.
Синтаксис
- Отсутствуют.
display_name из config или FQDN сервера, если оно не задано. String
Примеры
Пример использования
Query
Response
dumpColumnStructure
x— Значение, для которого требуется получить описание.Any
String
Примеры
Пример использования
Query
Response
enabledProfiles
- Нет.
Array(String)
Примеры
Пример использования
Query
Response
enabledRoles
- Нет.
Array(String)
Примеры
Пример использования
Query
Response
errorCodeToName
error_code. String
Примеры
Пример использования
Query
Response
file
file.
Синтаксис
path— Путь к файлу относительноuser_files_path. Поддерживаются подстановочные шаблоны*,**,?,{abc,def}и{N..M}, гдеNиM— числа, а'abc'и'def'— строки.Stringdefault— Значение, которое возвращается, если файл не существует или к нему нет доступа.StringилиNULL
String
Примеры
Вставка файлов в таблицу
Query
Response
filesystemAvailable
filesystemUnreserved), поскольку часть пространства зарезервирована для операционной системы.
Синтаксис
disk_name— Необязательный параметр. Имя диска, для которого нужно определить объём свободного места. Если не указано, используется диск по умолчанию.StringилиFixedString
UInt64
Примеры
Пример использования
Query
Response
filesystemCapacity
disk_name— Необязательный. Имя диска, для которого нужно получить объём. Если не указано, используется диск по умолчанию.StringилиFixedString
UInt64
Примеры
Пример использования
Query
Response
filesystemUnreserved
filesystemFree).
См. также filesystemAvailable.
Синтаксис
disk_name— Необязательный. Имя диска, для которого нужно определить общий объём свободного места. Если не указано, используется диск по умолчанию.StringилиFixedString
UInt64
Примеры
Пример использования
Query
Response
finalizeAggregation
state— Состояние агрегации.AggregateFunction
Any
Примеры
Пример использования
Query
Response
Query
Response
flipCoordinates
geometry— геометрия, которую нужно преобразовать. Поддерживаемые типы: Point (Tuple(Float64, Float64)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)) или Geometry (вариант, содержащий любой из этих типов).
Point или Ring или Polygon или MultiPolygon или LineString или MultiLineString или Geometry
Примеры
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
query— SQL-запрос, который требуется отформатировать. String
String
Примеры
Многострочный
Query
Response
formatQueryOrNull
query— SQL-запрос для форматирования. String
String
Примеры
многострочный
Query
Response
formatQuerySingleLine
formatQuery(), но возвращаемая форматированная строка не содержит переводов строки. Генерирует исключение в случае ошибки разбора.
[example:multiline]
Синтаксис
query— SQL-запрос, который нужно отформатировать. String
String
Примеры
многострочный
Query
Response
formatQuerySingleLineOrNull
query— SQL-запрос, который нужно отформатировать.String
String
Примеры
многострочный
Query
Response
formatReadableDecimalSize
parseReadableSize.
Синтаксис
value— Размер в байтах.Int8илиInt16илиInt32илиInt64илиUInt8илиUInt16илиUInt32илиUInt64илиFloat32илиFloat64илиDecimalprecision— Необязательно. Количество цифр после десятичной точки. По умолчанию 2.const UInt8
String
Примеры
Форматирование размеров файлов
Query
Response
Query
Response
formatReadableQuantity
Float64.
При больших значениях результат может быть неоптимальным.
Синтаксис
value— число для форматирования.Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64orDecimalprecision— необязательный параметр. Количество цифр после десятичной запятой. Значение по умолчанию — 2.const UInt8
String
Примеры
Форматирование чисел с суффиксами
Query
Response
Query
Response
formatReadableSize
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
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
allow_fuzz_query_functions = 1.
Синтаксис
query— SQL-запрос для фаззинга. String
String
Примеры
базовый
Query
Response
generateRandomStructure
column1_name column1_type, column2_name column2_type, ....
Синтаксис
number_of_columns— Требуемое количество столбцов в итоговой структуре таблицы. Если задано значение 0 илиNull, число столбцов будет случайным — от 1 до 128. Значение по умолчанию:Null.UInt64seed— Начальное значение генератора случайных чисел для получения стабильных результатов. Еслиseedне указан или задан какNull, он генерируется случайным образом.UInt64
String
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
generateSerialID
series_keeper_path в конфигурации сервера.
Синтаксис
series_identifier— Идентификатор серииconst Stringstart_value— Необязательный. Начальное значение счётчика. По умолчанию — 0. Примечание: это значение используется только при создании новой серии и игнорируется, если серия уже существуетUInt*
UInt64
Примеры
первый вызов
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Authentication и X-ClickHouse-*) ограничен.
Требуется включить настройку
allow_get_client_http_headerДля использования функции должна быть включена настройка allow_get_client_http_header.
По умолчанию эта настройка отключена из соображений безопасности, поскольку некоторые заголовки, например Cookie, могут содержать конфиденциальную информацию.name— Имя HTTP-заголовка.String
String
Примеры
Пример использования
Query
Response
getMacro
<macros> файла конфигурации и могут использоваться, чтобы различать серверы по удобным именам, даже если у них сложные имена узлов.
Если функция выполняется в контексте distributed таблицы, она создаёт обычный столбец со значениями для каждого сегмента.
Синтаксис
name— Имя макроса, который нужно получить.const String
String
Примеры
Базовое использование
Query
Response
getMaxTableNameLengthForDatabase
database_name— имя указанной базы данных.String
Query
Response
getMergeTreeSetting
setting_name— Название настройки.String
Query
Response
getOSKernelVersion
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
getServerPort
port_name— Название порта.String
UInt16
Примеры
Пример использования
Query
Response
getServerSetting
setting_name— Название настройки сервера.String
Any
Примеры
Пример использования
Query
Response
getSetting
setting_Name— Имя настройки.const String
Any
Примеры
Пример использования
Query
Response
getSettingOrDefault
setting_name— Имя настройки.Stringdefault_value— Значение, которое возвращается, если custom_setting не задан. Значение может быть любого типа данных илиNULL.
default_value, если настройка не задана.
Примеры
Пример использования
Query
Response
getSizeOfEnumType
Enum.
Синтаксис
x— значение типаEnum.Enum
Enum. UInt8/16
Примеры
Пример использования
Query
Response
getSubcolumn
- Нет.
Query
Response
getTypeSerializationStreams
col— Столбец или строковое представление типа данных, по которому будет определён тип данных.Any
Array(String)
Примеры
tuple
Query
Response
Query
Response
globalVariable
name— имя глобальной переменной.String
name. Any
Примеры
globalVariable
Query
Response
hasColumnInTable
0.
Синтаксис
database— Имя базы данных.const Stringtable— Имя таблицы.const Stringcolumn— Имя столбца.const Stringhostname— Необязательно. Имя удалённого сервера, на котором нужно выполнить проверку.const Stringusername— Необязательно. Имя пользователя удалённого сервера.const Stringpassword— Необязательно. Пароль удалённого сервера.const String
1, если указанный столбец существует, и 0 в противном случае. UInt8
Примеры
Проверка существующего столбца
Query
Response
Query
Response
hasThreadFuzzer
- Нет.
UInt8
Примеры
Проверка статуса Thread Fuzzer
Query
Response
highlightQuery
query— Строка запроса ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)), представляющих выделенные диапазоны. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Примеры
простой
Query
Response
hostName
hostname
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
icebergBucket
N— Количество бакетов, модуль.const (U)Int*value— Исходное значение для преобразования.(U)Int*илиBoolилиDecimalилиFloat*илиStringилиFixedStringилиUUIDилиDateилиTimeилиDateTime
Int32
Примеры
Пример
Query
Response
icebergTruncate
Query
Response
identity
x— Входное значение.Any
Any
Примеры
Пример использования
Query
Response
ignore
0.
Синтаксис
x— Входное значение, которое не используется и передаётся только для избежания синтаксической ошибки.Any
0. UInt8
Примеры
Пример использования
Query
Response
indexHint
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
initial_query_id в system.query_log.
В отличие от функции queryID, initialQueryID возвращает одинаковые результаты на разных сегментах.
Синтаксис
initial_query_id
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
initialQueryStartTime
initialQueryStartTime возвращает одинаковый результат на разных сегментах.
Синтаксис
initial_query_start_time
Аргументы
- Нет.
DateTime
Примеры
Пример использования
Query
Response
initializeAggregation
AggregateFunction или использовать инициализированные агрегаты в качестве значений по умолчанию.
Синтаксис
aggregate_function— Имя агрегатной функции, которую нужно инициализировать.Stringarg1[, arg2, ...]— Аргументы агрегатной функции.Any
initializeAggregation первым аргументом. Any
Примеры
Базовое использование с uniqState
Query
Response
Query
Response
isConstant
x— выражение для проверки.Any
1, если x — константа, и 0, если x не является константой. UInt8
Примеры
Константное выражение
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
value— Проверяемое значение типа Decimal.Decimalprecision— Необязательно. Точность типа Decimal. Если не указано, используется исходная точность первого аргумента.UInt8
1, если десятичное значение содержит больше цифр, чем допускает его точность, и 0, если десятичное значение соответствует указанной точности. UInt8
Примеры
Пример использования
Query
Response
joinGet
Поддерживает только таблицы, созданные с помощью
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
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
col— Столбец с низкой кардинальностью.LowCardinality
UInt64
Примеры
Примеры использования
Query
Response
lowCardinalityKeys
col— Столбец с низкой кардинальностью.LowCardinality
UInt64
Примеры
lowCardinalityKeys
Query
Response
materialize
x— Константа.Any
Any
Примеры
Пример использования
Query
Response
minSampleSizeContinuous
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
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
allow_deprecated_error_prone_window_functions = 1.
Синтаксис
column— Исходный столбец.Anyoffset— Смещение относительно текущей строки. Положительные значения указывают вперёд, отрицательные — назад.Integerdefault_value— Необязательно. Значение, которое возвращается, если смещение выходит за пределы данных. Если не указано, используется значение по умолчанию для типа столбца.Any
Any
Примеры
Пример использования
Query
Response
Query
Response
normalizeQuery
?.
Синтаксис
x— Строка символов.String
String
Примеры
Пример использования
Query
Response
normalizeQueryKeepNames
?, но не заменяет сложные псевдонимы (содержащие пробельные символы, более двух цифр или имеющие длину не менее 36 байт, например UUID).
Это помогает лучше анализировать журналы сложных запросов.
Синтаксис
x— Последовательность символов.String
String
Примеры
Пример использования
Query
Response
normalizedQueryHash
x— Последовательность символов.String
UInt64
Примеры
Пример использования
Query
Response
normalizedQueryHashKeepNames
normalizedQueryHash, возвращает одинаковые 64-битные хеш-значения для похожих запросов без учёта значений литералов, но не заменяет сложные псевдонимы (содержащие пробелы, более двух цифр или имеющие длину не менее 36 байт, например UUID) на плейсхолдер перед хешированием.
Может быть полезна при анализе журнала запросов.
Синтаксис
x— Последовательность символов.String
UInt64
Примеры
Пример использования
Query
Response
obfuscateQuery
tag предотвращает устранение общих подвыражений, когда один и тот же вызов функции
используется в запросе несколько раз. Это гарантирует, что каждый вызов даст свой обфусцированный результат.
Возможности:
- Заменяет имена таблиц, имена столбцов и псевдонимы случайными словами
- Заменяет числовые и строковые литералы случайными значениями
- Сохраняет общую структуру запроса и синтаксис SQL
- Выдаёт разные результаты для разных строк
query— SQL-запрос, который нужно обфусцировать.Stringtag— Необязательно. Значение, которое позволяет предотвратить устранение общих подвыражений, если один и тот же вызов функции используется несколько раз.
String
Примеры
Базовое использование
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
obfuscateQuery(), эта функция выдает детерминированные результаты при использовании одного и того же seed.
Это полезно, когда требуется согласованная обфускация в нескольких запусках или когда нужно
воспроизвести один и тот же обфусцированный запрос для тестирования или отладки.
Возможности:
- Детерминированная обфускация на основе указанного seed
- Один и тот же seed всегда дает один и тот же обфусцированный результат
- Разные seed дают разные результаты
- Сохраняет структуру запроса, как и obfuscateQuery()
- Воспроизводимые тестовые сценарии
- Согласованная анонимизация в нескольких запусках
- Отладка с согласованно обфусцированными запросами
query— SQL-запрос для обфускации.Stringseed— seed для обфускации. Один и тот же seed даёт детерминированные результаты.IntegerилиString
String
Примеры
Детерминированная обфускация с целочисленным seed
Query
Response
Query
Response
Query
Response
parseReadableSize
B, KiB, KB, MiB, MB и т. д. (то есть ISO/IEC 80000-13 или десятичную байтовую единицу), и возвращает соответствующее количество байт.
Если функция не может разобрать входное значение, она генерирует исключение.
Обратными операциями этой функции являются formatReadableSize и formatReadableDecimalSize.
Синтаксис
x— Размер в удобочитаемом формате с единицами ISO/IEC 80000-13 или десятичными байтовыми единицами.String
UInt64
Примеры
Пример использования
Query
Response
parseReadableSizeOrNull
B, KiB, KB, MiB, MB и т. д. (то есть ISO/IEC 80000-13 или десятичную единицу измерения байтов), эта функция возвращает соответствующее количество байтов.
Если функция не может разобрать входное значение, она возвращает NULL.
Обратными операциями для этой функции являются formatReadableSize и formatReadableDecimalSize.
Синтаксис
x— Размер в удобочитаемом формате с единицами ISO/IEC 80000-13 или десятичными байтовыми единицами.String
NULL, если входное значение не удаётся разобрать Nullable(UInt64)
Примеры
Пример использования
Query
Response
parseReadableSizeOrZero
B, KiB, KB, MiB, MB и т. д. (то есть ISO/IEC 80000-13 или десятичную байтовую единицу), эта функция возвращает соответствующее количество байтов.
Если функция не может разобрать входное значение, она возвращает 0.
Обратными операциями для этой функции являются formatReadableSize и formatReadableDecimalSize.
Синтаксис
x— Размер в удобочитаемом формате по ISO/IEC 80000-13 или в десятичных единицах измерения байтов.String
0, если не удалось разобрать входное значение. UInt64
Примеры
Пример использования
Query
Response
parseTimeDelta
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
Эта функция работает медленно, поэтому её не следует вызывать для большого числа строк.
partitionID
Аргументы
column1, column2, ...— Столбец, для которого возвращается идентификатор партиции.
String
Примеры
Пример использования
Query
Response
queryID
query_id таблицы system.query_log.
В отличие от функции initialQueryID, queryID может возвращать разные результаты на разных сегментах.
Синтаксис
query_id
Аргументы
- Нет.
String
Примеры
Пример использования
Query
Response
revision
- Нет.
UInt32
Примеры
Пример использования
Query
Response
rowNumberInAllBlocks
- None.
0. UInt64
Примеры
Пример использования
Query
Response
rowNumberInBlock
rowNumberInBlock, возвращает номер текущей строки.
Возвращаемый номер начинается с 0 в каждом блоке.
Синтаксис
- Нет.
0. UInt64
Примеры
Пример использования
Query
Response
runningAccumulate
agg_state— Состояние агрегатной функции.AggregateFunctiongrouping— Необязательный. Ключ группировки. Состояние функции сбрасывается при изменении значенияgrouping. Это может быть любой из поддерживаемых типов данных, для которых определён оператор равенства.Any
Any
Примеры
Пример использования с initializeAggregation
Query
Response
runningConcurrency
start— столбец со временем начала событий.DateилиDateTimeилиDateTime64end— столбец со временем окончания событий.DateилиDateTimeилиDateTime64
UInt32
Примеры
Пример использования
Query
Response
runningDifference
0 для первой строки, а для каждой следующей — разность относительно предыдущей строки.
Результат функции зависит от того, какие блоки данных были затронуты, и от порядка данных в блоке.
Порядок строк при вычислении runningDifference() может отличаться от порядка строк, возвращаемых пользователю.
Чтобы этого избежать, можно создать подзапрос с ORDER BY и вызвать функцию вне этого подзапроса.
Обратите внимание, что размер блока влияет на результат.
Внутреннее состояние runningDifference сбрасывается для каждого нового блока.
Синтаксис
x— столбец, для которого вычисляется разность с предыдущим значением.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
runningDifference, возвращает фактическое значение первой строки вместо 0.
Синтаксис
x— столбец, для которого вычисляется разность с предыдущей строкой.Any
Any
Примеры
Пример использования
Query
Response
serverUUID
- Отсутствуют.
UUID
Примеры
Пример использования
Query
Response
0.
Синтаксис
- None.
0. UInt32
Примеры
Пример использования
Query
Response
1.
Если запрос не является распределённым, возвращается постоянное значение 0.
Синтаксис
- Нет.
0. UInt32
Примеры
Пример использования
Query
Response
showCertificate
- Отсутствуют.
Map(String, String)
Примеры
Пример использования
Query
Response
sleep
sleep() не следует использовать в продакшн-средах, так как она может отрицательно влиять на производительность запросов и отзывчивость системы.
Однако она может быть полезна в следующих сценариях:
- Тестирование: При тестировании или бенчмаркинге ClickHouse может потребоваться имитировать задержки или добавлять паузы, чтобы наблюдать, как система ведет себя в определенных условиях.
- Отладка: Если вам нужно проверить состояние системы или выполнение запроса в определенный момент времени, можно использовать
sleep()для добавления паузы, чтобы просмотреть или собрать нужную информацию. - Моделирование: В некоторых случаях может потребоваться смоделировать реальные сценарии, в которых возникают задержки или паузы, например сетевую задержку или зависимости от внешних систем.
default (с включенным allow_sleep).
Синтаксис
seconds— Количество секунд, на которое приостанавливается выполнение запроса; не более 3 секунд. Для указания долей секунды можно использовать число с плавающей точкой.const UInt*илиconst Float*
0. UInt8
Примеры
Пример использования
Query
Response
sleepEachRow
sleepEachRow() в основном используется для тестирования и отладки, аналогично функции sleep().
Она позволяет имитировать задержки или делать паузы при обработке каждой строки, что может быть полезно в таких сценариях, как:
- Тестирование: При тестировании или бенчмаркинге производительности ClickHouse в определенных условиях можно использовать
sleepEachRow(), чтобы имитировать задержки или делать паузы при обработке каждой строки. - Отладка: Если вам нужно проверить состояние системы или выполнение запроса для каждой обрабатываемой строки, можно использовать
sleepEachRow(), чтобы делать паузы и получать возможность просматривать или собирать нужную информацию. - Моделирование: В некоторых случаях может потребоваться смоделировать реальные сценарии, в которых при обработке каждой строки возникают задержки или паузы, например при взаимодействии с внешними системами или из-за сетевых задержек.
seconds— Количество секунд, на которое приостанавливается выполнение запроса для каждой строки результирующего набора, не более 3 секунд. Для указания долей секунды можно использовать значение с плавающей точкой.const UInt*илиconst Float*
0 для каждой строки. UInt8
Примеры
Пример использования
Query
Response
structureToCapnProtoSchema
- Отсутствуют.
Query
Response
structureToProtobufSchema
structure— определение структуры таблицы ClickHouse в виде строки (например, ‘column1 Type1, column2 Type2’).Stringmessage_name— имя типа сообщения Protobuf в сгенерированной схеме.String
String
Примеры
Преобразование структуры ClickHouse в схему Protobuf
Query
Response
tcpPort
- Отсутствуют.
UInt16
Примеры
Пример использования
Query
Response
throwIf
error_code, должен быть включен параметр конфигурации allow_custom_error_code_in_throw.
Синтаксис
x— Условие для проверки.Anymessage— Необязательно. Произвольное сообщение об ошибке.const Stringerror_code— Необязательно. Произвольный код ошибки.const Int8/16/32
0, если условие ложно, и генерирует исключение, если условие истинно. UInt8
Примеры
Пример использования
Query
Response
toColumnTypeName
toTypeName, возвращаемый тип данных может включать внутренние столбцы-обёртки, такие как Const и LowCardinality.
Синтаксис
value— Значение, для которого требуется вернуть внутренний тип данных.Any
String
Примеры
Пример использования
Query
Response
toTypeName
NULL, функция возвращает тип Nullable(Nothing), который соответствует внутреннему представлению NULL в ClickHouse.
Синтаксис
x— Значение произвольного типа.Any
String
Примеры
Пример использования
Query
Response
tokenizeQuery
query— Строка запроса ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)), представляющих токены запроса. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Примеры
простой
Query
Response
transactionID
Эта функция входит в набор экспериментальных возможностей.
Чтобы включить экспериментальную поддержку транзакций, добавьте этот параметр в конфигурацию:Дополнительные сведения см. на странице Поддержка транзакций (ACID).
- Отсутствуют.
start_csn, local_tid и host_id.
start_csn: Глобальный последовательный номер — самая поздняя временная метка commit, видимая на момент начала этой транзакции.local_tid: Локальный последовательный номер, уникальный для каждой транзакции, начатой этим хостом в рамках конкретного start_csn.host_id: UUID хоста, который начал эту транзакцию.Tuple(UInt64, UInt64, UUID)
Query
Response
transactionLatestSnapshot
Эта функция входит в набор экспериментальных возможностей. Чтобы включить экспериментальную поддержку транзакций, добавьте этот параметр в конфигурацию:Дополнительные сведения см. на странице Поддержка транзакций (ACID).
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
transactionOldestSnapshot
Эта функция входит в набор экспериментальных возможностей. Включите экспериментальную поддержку транзакций, добавив эту настройку в конфигурацию:Дополнительные сведения см. на странице Поддержка транзакций (ACID).
- Отсутствуют.
UInt64
Примеры
Пример использования
Query
Response
transform
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
uniqThetaSketch— объект типа uniqThetaSketch.TupleилиArrayилиDateилиDateTimeилиStringили(U)Int*илиFloat*илиDecimal
UInt64
Примеры
Пример использования
Query
Response
uniqThetaNot
uniqThetaSketch— объект типа uniqThetaSketch.TupleилиArrayилиDateилиDateTimeилиStringили(U)Int*илиFloat*илиDecimal
UInt64
Примеры
Пример использования
Query
Response
uniqThetaUnion
uniqThetaSketch— объект типа uniqThetaSketch.TupleилиArrayилиDateилиDateTimeилиStringили(U)Int*илиFloat*илиDecimal
UInt64
Примеры
Пример использования
Query
Response
uptime
- Отсутствуют.
UInt32
Примеры
Пример использования
Query
Response
variantElement
Variant столбец указанного типа.
Синтаксис
variant— столбец типа Variant.Varianttype_name— имя типа варианта, который нужно извлечь.Stringdefault_value— значение по умолчанию, которое будет использоваться, еслиvariantне содержит варианта указанного типа. Может быть любого типа. Необязательный параметр.Any
Any
Примеры
Пример использования
Query
Response
variantType
Variant. Если строка содержит NULL, для неё возвращается значение ‘None’.
Синтаксис
variant— столбец типа Variant.Variant
Enum
Примеры
Пример использования
Query
Response
version
major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release.
Если функция выполняется в контексте distributed таблицы, она формирует обычный столбец со значениями для каждого сегмента.
В противном случае возвращается константное значение.
Синтаксис
- Отсутствуют.
String
Примеры
Пример использования
Query
Response
visibleWidth
NULL представляется строкой, соответствующей NULL в форматах Pretty.
Синтаксис
x— Значение любого типа данных.Any
UInt64
Примеры
Вычисление отображаемой ширины NULL
Query
Response
zookeeperSessionUptime
- Отсутствуют.
UInt32
Примеры
Пример использования
Query
Response