JSON 演算子
| 演算子 | 説明 | 例 | 結果 |
|---|---|---|---|
-> | インデックスまたはキーを使用して JSON 配列またはオブジェクトを取得し、JSON オブジェクトを返します。 | - キーの使用:SELECT '{"Datalake": "Cloud Native Warehouse"}'::JSON -> 'Datalake'- インデックスの使用: SELECT '["Datalake", "Cloud Native Warehouse"]'::JSON -> 1 | "Cloud Native Warehouse" |
->> | インデックスまたはキーを使用して JSON 配列またはオブジェクトを取得し、文字列を返します。 | - キーの使用:SELECT '{"Datalake": "Cloud Native Warehouse"}'::JSON ->> 'Datalake'- インデックスの使用: SELECT '["Datalake", "Cloud Native Warehouse"]'::JSON ->> 1 | Cloud Native Warehouse |
#> | キーパスを指定して JSON 配列またはオブジェクトを取得し、JSON オブジェクトを返します。 | SELECT '{"example": {"Datalake": "Cloud Native Warehouse"}}'::JSON #> '{example, Datalake}' | "Cloud Native Warehouse" |
#>> | キーパスを指定して JSON 配列またはオブジェクトを取得し、文字列を返します。 | SELECT '{"example": {"Datalake": "Cloud Native Warehouse"}}'::JSON #>> '{example, Datalake}' | Cloud Native Warehouse |
? | 指定した文字列が JSON オブジェクトのキーまたは配列内に存在するかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"a":1,"b":2,"c":3}'::JSON ? 'b' | true |
?\| | 指定した配列内のいずれかの文字列がキーまたは配列要素として存在するかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"a":1,"b":2,"c":3}'::JSON ?\| ['b','e'] | true |
?& | 指定した配列内の各文字列がキーまたは配列要素として存在するかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"a":1,"b":2,"c":3}'::JSON ?& ['b','e'] | false |
@> | 左側の JSON 式に、右側の JSON 式のすべてのキーと値のペアが含まれているかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"name":"Alice","age":30}'::JSON @> '{"name":"Alice"}'::JSON | true |
<@ | 左側の JSON 式が右側の JSON 式の部分集合であるかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"name":"Alice"}'::JSON <@ '{"name":"Bob"}'::JSON | false |
@@ | 指定した JSON パス式が JSON データ内の特定の条件に一致するかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"a":1,"b":[1,2,3]}'::JSON @@ '$.a == 1' | true |
@? | 指定した JSON 値に対する JSON パス式によって何らかの項目が返されるかを確認し、真の場合は 1、偽の場合は 0 を返します。 | SELECT '{"a":1,"b":[1,2,3]}'::JSON @? '$.b[3]' | false |
- '<key>' | JSON オブジェクトからキーと値のペアを削除します。 | SELECT '{"a":1,"b":2}'::JSON - 'a' | {"b":2} |
- <index> | 配列から指定したインデックスの要素を削除します(負の整数は末尾から数えます)。 | SELECT '[1,2,3]'::JSON - 2 | [1,2] |
#- | キーおよび/またはインデックスを指定して、キーと値のペアまたは配列要素を削除します。 | SELECT '{"a":1,"b":[1,2,3]}'::JSON #- '{b,2}' | {"a":1,"b":[1,2]} |
| || | 複数の JSON オブジェクトを 1 つに結合します | SELECT '{"a": 1}'::JSON || {"B": 1}'::JSON; | {"B":1,"a":1} |