翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
JSON_EQUAL
2 つの JSON 文字列を比較し、等価であれば true、そうでなければ false を返します。
関連項目:
[SELECT] [DESCRIBE] [JSON_EXTRACT] [JSON_ARRAY_LENGTH] [ データ型 ]
ヒント
json_equal 関数は、StackQL 独自の拡張関数です。JSON オブジェクトと配列の比較をサポートし、JSON 仕様に従って、キーの順序が異なるオブジェクトを等価として扱います。json_equal 関数は StackQL 0.5.707 以降で利用でき、StackQL のデフォルトである組み込みのインメモリ SQL バックエンドでのみサポートされています。
構文
SELECT JSON_EQUAL(json1, json2);
引数
json1
オブジェクトまたは配列を表す JSON 文字列。
json2
1 つ目と比較するもう 1 つの JSON 文字列。
両方の引数が有効な JSON 文字列である必要があります。
戻り値
整数値:JSON 文字列が等価であれば 1、等価でなければ 0。
例
JSON オブジェクトを比較する
SELECT
public_access_block_configuration as current_state,
'{"BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true}' as desired_state,
JSON_EQUAL(public_access_block_configuration, '{"BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true}') as comp
FROM awscc.s3.buckets
WHERE region = 'ap-southeast-2'
AND Identifier = 'my-bucket';
/* returns...
|--------------------------------------------------------------------------------------------------------|--------------------------------|------|
| current_state | desired_state | comp |
|--------------------------------------------------------------------------------------------------------|--------------------------------|------|
| {"RestrictPublicBuckets":true,"BlockPublicPolicy":true,"BlockPublicAcls":true,"IgnorePublicAcls":true} | {"BlockPublicAcls": true, | 1 |
| | "BlockPublicPolicy": true, | |
| | "IgnorePublicAcls": true, | |
| | "RestrictPublicBuckets": true} | |
|--------------------------------------------------------------------------------------------------------|--------------------------------|------|
*/
JSON 配列を比較する
SELECT
json_equal('[1, 2, 3]', '[1, 2, 3]') as array_comp_1,
json_equal('[1, 2, 3]', '[3, 2, 1]') as array_comp_2
;
/* returns...
|--------------|--------------|
| array_comp_1 | array_comp_2 |
|--------------|--------------|
| 1 | 0 |
|--------------|--------------|
*/
詳細については、json_equal を参照してください。