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, ...]— 最初の配列の要素がキーを表し、2 番目の配列に各キーの値が含まれる Map または 2 つの配列からなる Tuple。Map(K, V)またはTuple(Array(T), Array(T))
Map(K, V) または Tuple(Array(T), Array(T))
例
Map 型の場合
Query
Response
Query
Response
mapAll
mapAll は高階関数です。
第 1 引数としてラムダ関数を渡すことができます。
構文
func— ラムダ関数。Lambda functionmap— 判定対象の Map。Map(K, V)
1、そうでない場合は 0 を返します。UInt8
例
使用例
Query
Response
mapApply
func— ラムダ関数。Lambda functionmap— 関数の適用対象となる Map。Map(K, V)
func を適用して得られる新しい Map を返します。Map(K, V)
例
使用例
Query
Response
mapConcat
Map 型の値を、キーの一致に基づいて連結します。
同じキーを持つ要素が複数の入力 Map に含まれている場合、それらの要素はすべて結果の Map に追加されますが、[] 演算子でアクセスできるのは最初の要素だけです。
構文
maps— 任意個の map。Map
Map
例
使用例
Query
Response
mapContainsKey
map にキーが含まれているかどうかを判定します。
構文
mapContains
引数
戻り値
マップにキーが含まれている場合は 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 は高階関数です。
第 1 引数としてラムダ関数を渡せます。
構文
func— 任意。ラムダ関数。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 pattern が与えられると、この関数は、値が pattern に一致する要素を含む map を返します。
構文
map— 抽出元の Map。Map(K, V)pattern— 値の照合に使用するパターン。const String
Map(K, V)
例
使用例
Query
Response
mapFilter
func— ラムダ関数。Lambda functionmap— フィルタリング対象の Map。Map(K, V)
func が 0 以外の値を返す要素のみを含む Map を返します。Map(K, V)
例
使用例
Query
Response
mapFromArrays
CAST([...], 'Map(key_type, value_type)') 構文の便利な代替手段です。
構文
MAP_FROM_ARRAYS
引数
戻り値
キーの Array と値の Array/Map から構成されるキーと値を持つマップを返します。Map
例
基本的な使い方
Query
Response
Query
Response
mapKeys
optimize_functions_to_subcolumns を有効にすることで最適化できます。
この設定を有効にすると、関数は map 全体ではなく keys サブカラムのみを読み取ります。
クエリ SELECT mapKeys(m) FROM table は SELECT m.keys FROM table に変換されます。
構文
map— キーを抽出する対象の Map。Map(K, V)
Array(T)
例
使用例
Query
Response
mapPartialReverseSort
func— 省略可能。ラムダ関数。Lambda functionlimit— 範囲[1..limit]の要素がソートされます。(U)Int*map— ソート対象のマップ。Map(K, V)
Map(K, V)
例
使用例
Query
Response
mapPartialSort
func— 任意。ラムダ関数。Lambda functionlimit— 範囲[1..limit]内の要素がソートされます。(U)Int*map— ソート対象の Map。Map(K, V)
Map(K, V)
例
使用例
Query
Response
mapPopulateSeries
max 引数) まで 1 刻みで連続する系列を成し、それに対応する値を持つマップを返します。
キーに対応する値が指定されていない場合は、デフォルト値が使用されます。
キーが重複している場合は、最初の値のみ (出現順) がそのキーに関連付けられます。
構文
map— 整数キーを持つ Map。Map((U)Int*, V)keys— キーの Array。Array(T)values— 値の Array。Array(T)max— オプション。キーの最大値。Int8またはInt16またはInt32またはInt64またはInt128またはInt256
Map(K, V) または Tuple(Array(UInt*), Array(Any))
例
Map 型の場合
Query
Response
Query
Response
mapReverseSort
Map(K, V)
例
使用例
Query
Response
mapSort
map の要素を昇順にソートします。
func 関数を指定した場合、ソート順は map のキーと値に func 関数を適用した結果によって決まります。
構文
Map(K, V)
例
使用例
Query
Response
mapSubtract
arg1[, arg2, ...]— 最初の配列の要素がキーを表し、2 番目の配列に各キーの値が含まれる Map、または 2 つの配列からなる Tuple。Map(K, V)またはTuple(Array(T), Array(T))
Map(K, V) または Tuple(Array(T), Array(T))
例
Map 型の場合
Query
Response
Query
Response
mapUpdate
map2 内の対応するキーの値で更新された map1 を返します。Map(K, V)
例
基本的な使い方
Query
Response
mapValues
optimize_functions_to_subcolumns を有効にすることで最適化できます。
この設定を有効にすると、関数はマップ全体ではなく、values サブカラムのみを読み取ります。
クエリ SELECT mapValues(m) FROM table は SELECT m.values FROM table に変換されます。
Syntax
map— 値の抽出元となる Map。Map(K, V)
map 内のすべての値を含む配列を返します。Array(T)
例
使用例
Query
Response