マッピングの判定関数/演算子は、入力されたマッピングデータに対していくつかの判断を行い、ブール値を返します。OceanBaseデータベースが現在サポートしている演算子には=および!=があります。
=/!=
=と!=は、2つのマッピングデータが等しいかどうかを判断します。構文は次のとおりです:
map1 = map2;
map1 != map2;
入力パラメータの説明は以下のとおりです:
map1に渡されるタイプは、マッピングタイプでなければなりません。map2に渡されるタイプは、マッピングタイプでなければなりません。
結果の説明は次のとおりです:
=の場合、1は等しいことを示し、0は等しくないことを示します。!=の場合、0は等しいことを示し、1は等しくないことを示します。- キーと値がともに等しい場合にのみ、マッピングは等しいとみなされます。
例:
SELECT map(1,"a",2,"b") = map(1,"a",2,"b");
+-------------------------------------+
| map(1,"a",2,"b") = map(1,"a",2,"b") |
+-------------------------------------+
| 1 |
+-------------------------------------+
1 row in set
-- 比較する際、システムは自動的に配列を比較可能な型に変換します
SELECT map(1,"a",2,"b") = map("1","a","2","b");
+-----------------------------------------+
| map(1,"a",2,"b") = map("1","a","2","b") |
+-----------------------------------------+
| 1 |
+-----------------------------------------+
1 row in set
-- キーは等しいが値が異なる場合、0が返されます
SELECT map(1,"a",2,"b") = map(1,"a",2,"c");
+-------------------------------------+
| map(1,"a",2,"b") = map(1,"a",2,"c") |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set