Função JSON_OVERLAPS() do MySQL

Resumo : neste tutorial, você aprenderá como usar a JSON_OVERLAPS()função MySQL para comparar dois documentos JSON.

Introdução à função JSON_OVERLAPS() do MySQL

A JSON_OVERLAPS()função compara dois documentos JSON e retorna verdadeiro (1) se os dois documentos compartilharem quaisquer pares de valores-chave ou elementos de matriz ou falso (0) caso contrário.

Aqui está a sintaxe da JSON_OVERLAPS()função:

JSON_OVERLAPS(json_doc1, json_doc2)Linguagem de código:  JavaScript  ( javascript )

Nesta sintaxe, json_doc1estão json_doc2os documentos JSON que você deseja comparar.

Se ambos os argumentos forem escalares, a função executa um teste simples de igualdade. Se um dos argumentos for NULL, a função retornará NULL.

Esta JSON_OVERLAPS()função complementa a JSON_CONTAINS()função, que necessita da presença de todos os elementos de pesquisa na matriz de destino.

A JSON_CONTAINS()função atua como uma operação AND nas teclas de pesquisa, enquanto JSON_OVERLAPS()funciona como uma operação OR.

Exemplos de funções JSON_OVERLAPS() do MySQL

Vejamos alguns exemplos de uso da JSON_OVERLAPS()função.

1) Usando a função MySQL JSON_OVERLAPS() com arrays

O exemplo a seguir usa JSON_OVERLAPS()para verificar se dois arrays compartilham pelo menos um elemento:

SELECT 
  JSON_OVERLAPS("[1,2,3]", "[3,4,5]") result;Linguagem de código:  JavaScript  ( javascript )

Retorna verdadeiro porque o número 3 aparece em ambas as matrizes:

+--------+
| result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

O exemplo a seguir retorna falso porque dois arrays não possuem nenhum elemento comum:

SELECT 
  JSON_OVERLAPS("[1,2,3]", "[4,5]") result;Linguagem de código:  JavaScript  ( javascript )

Saída:

+--------+
| result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)
Linguagem de código:  JavaScript  ( javascript )

O JSON_OVERLAPS() não realizará uma verificação de tipo antes da comparação. Por exemplo:

SELECT 
  JSON_OVERLAPS('["1","2"]', '[2,3]') result;Linguagem de código:  JavaScript  ( javascript )

Saída:

+--------+
| result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

A função retorna falso porque o primeiro array possui dois elementos de string, enquanto o segundo array possui dois números.

2) Usando a função JSON_OVERLAPS() com objetos

O exemplo a seguir usa a JSON_OVERLAPS()função para verificar se dois objetos compartilham pelo menos um par de valores-chave:

SELECT 
  JSON_OVERLAPS(
    '{"name": "John"}', '{"name": "John", "age": 21}'
  ) result;Linguagem de código:  JavaScript  ( javascript )

Ele retorna verdadeiro porque os objetos compartilham o mesmo par de valores-chave {"name": "John"}:

+--------+
| result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

Resumo

  • Use a JSON_OVERLAPS()função para comparar dois documentos JSON e retornar verdadeiro se os dois documentos compartilharem quaisquer pares de valores-chave ou elementos de matriz ou falso caso contrário.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *