13.11 JSON_TRANSFORMの演算子MINUS
JSON_TRANSFORM
の演算子MINUS
は、指定された一連の値にある配列要素を削除します。これは差集合操作です。
これは、RHSで指定されている値のどれかと等しい、LHSのパス式で対象となっている配列の要素をすべて削除します。このRHSのパス式で一致するのは、単一の値でも複数の値でもかまいません。
ノート: これは集合操作です。操作後のすべての配列要素の順序は定義されていません。
例13-20 JSON_TRANSFORM: 集合としての配列2つの差集合
結果であるオブジェクト内の配列a
は、入力配列$.a
と$.b
の差集合です。
結果となるオブジェクト内の配列b
は変更されていません。
SELECT json_transform('{"a":[ 1, 2, 3, 4 ], "b":[ 2, 5 ]}',
MINUS '$.a' = PATH '$.b[*]')
結果:
{"a":[ 1, 4, 3 ], "b":[ 2, 5 ]}
演算子MINUS
で使用できるハンドラは次のとおりです:
-
ERROR ON MISSING
(デフォルト)、IGNORE ON MISSING
、CREATE ON MISSING
、NULL ON MISSING
。 -
ERROR ON MISMATCH
(デフォルト)。 -
NULL ON NULL
(デフォルト)、IGNORE ON NULL
、ERROR ON NULL