JSON_OVERLAPS
JSON_OVERLAPS был добавлен в MariaDB 10.9.
Синтаксис
JSON_OVERLAPS(json_doc1, json_doc2)
Описание
JSON_OVERLAPS() сравнивает два JSON-документа и возвращает true, если у них есть хотя бы одна общая пара ключ-значение между двумя объектами, общие элементы массива между двумя массивами или общий элемент массива со скалярным значением, если один из аргументов является скаляром, а другой — массивом. Если два JSON-документа являются скалярными значениями, функция возвращает true, если они имеют одинаковый тип и значение.
Если ни одно из вышеперечисленных условий не выполняется, функция возвращает false.
Примеры
SELECT JSON_OVERLAPS('false', 'false');
+---------------------------------+
| JSON_OVERLAPS('false', 'false') |
+---------------------------------+
| 1 |
+---------------------------------+
SELECT JSON_OVERLAPS('true', '["abc", 1, 2, true, false]');
+----------------------------------------------------+
| JSON_OVERLAPS('true','["abc", 1, 2, true, false]') |
+----------------------------------------------------+
| 1 |
+----------------------------------------------------+
SELECT JSON_OVERLAPS('{"A": 1, "B": {"C":2}}', '{"A": 2, "B": {"C":2}}') AS is_overlap;
+---------------------+
| is_overlap |
+---------------------+
| 1 |
+---------------------+
Частичное совпадение считается отсутствием совпадения.
Примеры
SELECT JSON_OVERLAPS('[1, 2, true, false, null]', '[3, 4, [1]]') AS is_overlap;
+--------------------- +
| is_overlap |
+----------------------+
| 0 |
+----------------------+
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/json_overlaps/