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 或由两个数组组成的元组,其中第一个数组中的元素表示键,第二个数组包含每个键对应的值。Map(K, V)或Tuple(Array(T), Array(T))
Map(K, V) 或 Tuple(Array(T), Array(T))
示例
使用 Map 类型
Query
Response
Query
Response
mapAll
mapAll 是一个高阶函数。
你可以将 lambda 函数作为第一个参数传递给它。
语法
1;否则返回 0。UInt8
示例
使用示例
Query
Response
mapApply
func 后得到的。Map(K, V)
示例
用法示例
Query
Response
mapConcat
[] 访问。
语法
maps— 任意数量的 Map。Map
Map
示例
使用示例
Query
Response
mapContainsKey
map 中是否包含指定键。
语法
mapContains
参数
返回值
如果 map 包含该键,则返回 1,否则返回 0。UInt8
示例
用法示例
Query
Response
mapContainsKeyLike
LIKE 指定模式的键。
语法
map— 要在其中搜索的 Map。Map(K, V)pattern— 用于匹配键名的模式。const String
map 包含与 pattern 匹配的键,则返回 1;否则返回 0。 UInt8
示例
使用示例
Query
Response
mapContainsValue
1;否则返回 0。UInt8
示例
使用示例
Query
Response
mapContainsValueLike
LIKE 匹配的值。
语法
map— 要搜索的 Map。Map(K, V)pattern— 用于匹配值的模式。const String
map 包含与 pattern 匹配的值,则返回 1;否则返回 0。UInt8
示例
用法示例
Query
Response
mapExists
mapExists 是一个高阶函数。
你可以将 lambda function 作为它的第一个参数传入。
语法
func— 可选。Lambda function。Lambda functionmap— 要检查的 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
LIKE 模式,此函数返回一个 map,其中包含值与该模式匹配的元素。
语法
map— 要从中提取元素的 Map。Map(K, V)pattern— 用于匹配值的模式。const String
Map(K, V)
示例
用法示例
Query
Response
mapFilter
func 返回值不为 0 的元素。Map(K, V)
示例
使用示例
Query
Response
mapFromArrays
CAST([...], 'Map(key_type, value_type)') 的一种便捷替代方案。
语法
MAP_FROM_ARRAYS
参数
返回值
返回一个 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 函数,则排序顺序由 func 函数应用于 map 的键和值后得到的结果决定。
语法
func— 可选。Lambda 函数。Lambda functionlimit— 对范围[1..limit]内的元素进行排序。(U)Int*map— 要排序的 Map。Map(K, V)
Map(K, V)
示例
使用示例
Query
Response
mapPartialSort
func— 可选。Lambda 函数。Lambda functionlimit— 对范围[1..limit]内的元素进行排序。(U)Int*map— 要排序的 Map。Map(K, V)
Map(K, V)
示例
使用示例
Query
Response
mapPopulateSeries
max 参数) 的连续序列,并具有对应的值。
如果某个键没有指定值,则使用默认值作为其值。
如果键重复,则只有第一个值 (按出现顺序) 会与该键关联。
Syntax
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— 可选。Lambda 函数。Lambda functionmap— 要排序的 Map。Map(K, V)
Map(K, V)
示例
用法示例
Query
Response
mapSort
func— 可选。lambda 函数。Lambda functionmap— 待排序的 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,其中的值会被 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