Overview of JSON functions and operators
JSON関数とオペレーターの概要
このトピックでは、StarRocksがサポートするJSON構築関数、クエリ関数、処理関数、オペレーター、およびパス式の概要を提供します。
JSON構築関数
JSON構築関数はJSONオブジェクトやJSON配列などのJSONデータを構築するために使用されます。
関数 | 説明 | 例 | 戻り値 |
---|---|---|---|
1つ以上のキーと値のペアをJSONオブジェクトに変換します。キーと値のペアは、キーで辞書順にソートされます。 |
|
| |
SQL配列の各要素をJSON値に変 換し、それらのJSON値からなるJSON配列を返します。 |
|
| |
文字列をJSON値に変換します。 |
|
|
JSONクエリ関数と処理関数
JSONクエリ関数と処理関数はJSONデータのクエリと処理に使用されます。たとえば、JSONオブジェクト内の要素をパス式を使用してロケートすることができます。
関数 | 説明 | 例 | 戻り値 |
---|---|---|---|
パス式で指定された要素をJSONオブジェクト内でクエリします。 |
|
| |
JSONデータ型とSQLデータ型の間でデータを変換します。 |
|
| |
JSON文字列内の指定されたパス から浮動小数点値を解析して取得します。 |
|
| |
JSON文字列内の指定されたパスから整数値を解析して取得します。 |
|
| |
JSON文字列内の指定されたパスから文字列を解析して取得します。 |
|
| |
パス式で指定された要素の値をJSONオブジェクトからクエリします。 |
|
| |
JSONオブジェクトのトップレベル要素をキーと値のペアに展開します。 |
| ||
JSONオブジェク トがパス式で指定された要素を含むかどうかを確認します。要素が存在する場合、この関数は1を返します。要素が存在しない場合、関数は0を返します。 |
|
| |
JSONオブジェクトのトップレベルのキーをJSON配列として返します。または、パスが指定されている場合は、パスからのトップレベルのキーを返します。 |
|
| |
JSONドキュメントの長さを返します。 |
|
| |
JSONオブジェクトをJSON文字列に変換します。 |
|
|
JSONオペレーター
StarRocksは以下のJSON比較演算子をサポートしています: <
, <=
, >
, >=
, =
, !=
。これらのオペレーターを使用してJSONデータをクエリすることができます。ただし、IN
演算子を使用してJSONデータをクエリすることはできません。詳細については、JSONオペレーターを参照してください。
JSONパス式
JSONパス式を使用すると、JSONオブジェクト内の要素をクエリすることができます。JSONパス式はSTRINGデータ型です。ほとんどの場合、JSON_QUERYなどのさまざまなJSON関数と共に使用されます。StarRocksでは、JSONパス式は完全にSQL/JSONパスの仕様に準拠していません。StarRocksでサポートされているJSONパス構文については、次の表を参照してください。次のJSONオブジェクトは例として使用されます。
{
"people": [{
"name": "Daniel",
"surname": "Smith"
}, {
"name": "Lily",
"surname": "Smith",
"active": true
}]
}
JSONパス記号 | 説明 | JSONパスの例 | 戻り値 |
---|---|---|---|
| ルートのJSONオブジェクトを示します。 |
|
|
| 子のJSONオブジェクトを示します。 |
|
|
| 1つ以上の配列インデックスを示します。 StarRocks 2.5では、多次元配列のクエリをサポートしています。たとえば、 |
|
|
| 配列内のすべての要素を示します。 |
|
|
| 配列から要素の部分集合を示します。部分集合は |
|
|