extractKeyValuePairs
key_value_delimiter, и значения. Ключи и значения в кавычках также поддерживаются. Пары ключ-значение должны разделяться разделителями пар.
Синтаксис
data— строка, из которой извлекаются пары «ключ-значение». String или FixedString.key_value_delimiter- Символ, используемый в качестве разделителя между ключом и значением. По умолчанию:. String или FixedString.pair_delimiters- Набор символов, используемых в качестве разделителей между парами. По умолчанию\space,,и;. String или FixedString.quoting_character- Символ, используемый в качестве символа кавычек. По умолчанию". String или FixedString.unexpected_quoting_character_strategy- Стратегия обработки символов кавычек в неожиданных местах на этапеread_keyиread_value. Возможные значения:invalid,acceptиpromote.invalidотбрасывает ключ/значение и возвращает в состояниеWAITING_KEY.acceptрассматривает его как обычный символ.promoteпереводит в состояниеREAD_QUOTED_{KEY/VALUE}и начинает со следующего символа. Значение по умолчанию —INVALID
- Извлечённые пары «ключ-значение» в
Map(String, String).
str_to_map, mapFromString
Аргументы
- Отсутствуют.
extractKeyValuePairsWithEscaping
extractKeyValuePairs, но с поддержкой экранирования.
Поддерживаемые экранирующие последовательности: \x, \N, \a, \b, \e, \f, \n, \r, \t, \v и \0.
Нестандартные экранирующие последовательности возвращаются как есть (включая обратный слеш), если только это не одна из следующих:
\\, ', ", backtick, /, = или управляющие символы ASCII (c <= 31).
Эта функция подходит для случаев, когда ни предварительное, ни последующее экранирование не подходят. Например, рассмотрим следующую
входную строку: a: "aaaa\"bbb". Ожидаемый результат: a: aaaa\"bbbb.
- Предварительное экранирование: в этом случае результат будет таким:
a: "aaaa"bbb", а затемextractKeyValuePairsвернет:a: aaaa- Последующее экранирование:
extractKeyValuePairsвернетa: aaaa\, а последующее экранирование оставит это без изменений.
- Последующее экранирование:
- Отсутствуют.
map
Map(key, value) из пар в формате ключ-значение.
Синтаксис
Map(Any, Any)
Примеры
Пример использования
Query
Response
mapAdd
arg1[, arg2, ...]— объекты типа Map или Tuple из двух массивов, в которых элементы первого массива представляют ключи, а второй массив содержит значения для каждого ключа.Map(K, V)илиTuple(Array(T), Array(T))
Map(K, V) или Tuple(Array(T), Array(T))
Примеры
С типом Map
Query
Response
Query
Response
mapAll
mapAll — функция высшего порядка.
В качестве первого аргумента ей можно передать лямбда-функцию.
Синтаксис
func— лямбда-функция.лямбда-функцияmap— проверяемый Map.Map(K, V)
1, если все пары ключ-значение удовлетворяют условию, иначе — 0. UInt8
Примеры
Пример использования
Query
Response
mapApply
func— Лямбда-функция.Лямбда-функцияmap— Map, к которому нужно применить функцию.Map(K, V)
func к каждому элементу. Map(K, V)
Примеры
Пример использования
Query
Response
mapConcat
maps— Произвольное количество значений типа Map.Map
Map
Примеры
Пример использования
Query
Response
mapContainsKey
mapContains
Аргументы
map— Объект Map, в котором выполняется поиск.Map(K, V)key— Ключ, который нужно найти. Тип должен совпадать с типом ключа в Map.Any
UInt8
Примеры
Пример использования
Query
Response
mapContainsKeyLike
LIKE.
Синтаксис
map— Map, в котором выполняется поиск.Map(K, V)pattern— Шаблон регулярного выражения, с которым сопоставляются ключи.const String
1, если map содержит ключ, соответствующий pattern, иначе — 0. UInt8
Примеры
Пример использования
Query
Response
mapContainsValue
map— Map, в которой выполняется поиск.Map(K, V)value— Искомое значение. Тип должен совпадать с типом значений вmap.Any
1, если map содержит value, и 0 — в противном случае. UInt8
Примеры
Пример использования
Query
Response
mapContainsValueLike
LIKE.
Синтаксис
map— Map, в которой выполняется поиск.Map(K, V)pattern— Шаблон регулярного выражения для сопоставления со значениями.const String
1, если map содержит значение, соответствующее pattern, в противном случае — 0. UInt8
Примеры
Пример использования
Query
Response
mapExists
mapExists — функция высшего порядка.
В качестве первого аргумента в нее можно передать лямбда-функцию.
Синтаксис
func— Необязательный. Лямбда-функция.лямбда-функцияmap— Проверяемое значение типа Map.Map(K, V)
1, если хотя бы одна пара ключ-значение удовлетворяет условию, в противном случае — 0. UInt8
Примеры
Пример использования
Query
Response
mapExtractKeyLike
LIKE, а возвращает map с элементами, ключи которых соответствуют шаблону.
Синтаксис
map— Map, из которого извлекаются данные.Map(K, V)pattern— Шаблон регулярного выражения, с которым сопоставляются ключи.const String
Map(K, V)
Примеры
Пример использования
Query
Response
mapExtractValueLike
map со строковыми значениями и шаблоном LIKE эта функция возвращает map, содержащий элементы, значения которых соответствуют шаблону.
Синтаксис
map— Map, из которого извлекаются данные.Map(K, V)pattern— Шаблон регулярного выражения для сопоставления со значениями.const String
Map(K, V)
Примеры
Пример использования
Query
Response
mapFilter
func— лямбда-функция.лямбда-функцияmap—Map, который нужно отфильтровать.Map(K, V)
Map, содержащий только те элементы, для которых func возвращает значение, отличное от 0. Map(K, V)
Примеры
Пример использования
Query
Response
mapFromArrays
CAST([...], 'Map(key_type, value_type)').
Синтаксис
MAP_FROM_ARRAYS
Аргументы
keys— Массив или Map ключей, из которых создаётся карта.ArrayилиMapvalues— Массив или Map значений, из которых создаётся карта.ArrayилиMap
Map
Примеры
Базовое использование
Query
Response
Query
Response
mapKeys
optimize_functions_to_subcolumns.
Когда настройка включена, функция считывает только подстолбец keys, а не весь Map.
Запрос SELECT mapKeys(m) FROM table преобразуется в SELECT m.keys FROM table.
Синтаксис
map— Map, из которого извлекаются ключи.Map(K, V)
Array(T)
Примеры
Пример использования
Query
Response
mapPartialReverseSort
func— Необязательный параметр. Лямбда-функция.Лямбда-функцияlimit— Сортируются элементы в диапазоне[1..limit].(U)Int*map— Сортируемый Map.Map(K, V)
Map(K, V)
Примеры
Пример использования
Query
Response
mapPartialSort
func— Необязательный. Лямбда-функция.лямбда-функцияlimit— Сортируются элементы в диапазоне[1..limit].(U)Int*map— Сортируемое значение типа Map.Map(K, V)
Map(K, V)
Примеры
Пример использования
Query
Response
mapPopulateSeries
map— Значение типа Map с целочисленными ключами.Map((U)Int*, V)keys— Массив ключей.Array(T)values— Массив значений.Array(T)max— Необязательный параметр. Максимальное значение ключа.Int8илиInt16илиInt32илиInt64илиInt128илиInt256
Map(K, V) или Tuple(Array(UInt*), Array(Any))
Примеры
С типом Map
Query
Response
Query
Response
mapReverseSort
func— Необязательный. Лямбда-функция.Лямбда-функцияmap— Map, который нужно отсортировать.Map(K, V)
Map(K, V)
Примеры
Пример использования
Query
Response
mapSort
func— Необязательный. Лямбда-функция.Лямбда-функцияmap— Map, которую нужно отсортировать.Map(K, V)
Map(K, V)
Примеры
Пример использования
Query
Response
mapSubtract
arg1[, arg2, ...]— Map или Tuple из двух массивов, где элементы первого массива представляют собой ключи, а второй массив содержит значения для каждого ключа.Map(K, V)илиTuple(Array(T), Array(T))
Map(K, V) или Tuple(Array(T), Array(T))
Примеры
С типом Map
Query
Response
Query
Response
mapUpdate
map1—Map, который нужно обновить.Map(K, V)map2—Map, значения из которого используются для обновления.Map(K, V)
map1, в котором значения обновлены на основе значений соответствующих ключей из map2. Map(K, V)
Примеры
Базовое использование
Query
Response
mapValues
optimize_functions_to_subcolumns.
Если настройка включена, функция считывает только подстолбец values, а не весь Map.
Запрос SELECT mapValues(m) FROM table преобразуется в SELECT m.values FROM table.
Синтаксис
map— объект Map, из которого извлекаются значения.Map(K, V)
Array(T)
Примеры
Пример использования
Query
Response