Função MySQL JSON_CONTAINS_PATH()

Resumo : neste tutorial, você aprenderá como usar a JSON_CONTAINS_PATH()função MySQL para verificar se um documento JSON contém caminhos específicos.

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

A JSON_CONTAINS_PATHfunção é usada para verificar se um documento JSON contém caminhos específicos .

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

JSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • json_doc: este é o documento JSON no qual você deseja pesquisar os caminhos.
  • one_or_all: uma palavra-chave que especifica se você deseja localizar pelo menos um ou todos os caminhos especificados. Se for 'one', a função retornará 1 se o documento JSON contiver pelo menos um, 0 caso contrário. Se o parâmetro for 'all', a função retornará 1 se o documento contiver todos os caminhos especificados e 0 caso contrário.
  • path: esta é uma ou mais expressões de caminho que você deseja verificar no documento JSON.

A função é útil quando você deseja verificar se existem determinados caminhos no documento JSON.

Exemplos de funções JSON_CONTAINS_PATH() do MySQL

Vejamos alguns exemplos de uso da JSON_CONTAINS_PATHfunção.

1) Verificando a existência de um único caminho

O exemplo a seguir usa a JSON_CONTAINS_PATH()função para verificar se o documento JSON contém o caminho $.a:

SELECT 
  JSON_CONTAINS_PATH(
    '{"a": 1, "b": 2, "c": {"d": 4}}', 
    'one', '$.a'
  ) result;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------+
| result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O resultado é 1 porque o documento JSON contém o caminho '$.a'.

2) Verificando vários caminhos com o modo ‘um’

O exemplo a seguir usa a JSON_CONTAINS_PATHfunção para verificar se o documento JSON contém pelo menos um dos dois caminhos especificados $.ae $.e:

SELECT 
  JSON_CONTAINS_PATH(
    '{"a": 1, "b": 2, "c": {"d": 4}}', 
    'one', '$.a', '$.e'
  ) result;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------+
| result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O resultado ocorre 1porque o documento JSON contém pelo menos um dos caminhos especificados ( $.a).

3) Verificando vários caminhos com o modo ‘todos’

O exemplo a seguir usa a JSON_CONTAINS_PATH()função para verificar se o documento JSON contém todos os caminhos especificados $.ae $.e:

SELECT 
  JSON_CONTAINS_PATH(
    '{"a": 1, "b": 2, "c": {"d": 4}}', 
    'all', '$.a', '$.e'
  ) result;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------+
| result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, a função retorna 0 porque nem todos os caminhos especificados existem no documento JSON.

4) Caminhos aninhados

O exemplo a seguir usa a JSON_CONTAINS_PATH()função para verificar se o documento JSON contém o caminho aninhado $.c.d:

SELECT 
  JSON_CONTAINS_PATH(
    '{"a": 1, "b": 2, "c": {"d": 4}}', 
    'one', '$.c.d'
  ) result;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------+
| result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, o resultado é 1porque o caminho $.c.dexiste no documento JSON.

5) Exemplo de caminho inexistente

O exemplo a seguir usa a JSON_CONTAINS_PATH()função para verificar se o documento JSON contém o caminho $.a.d.

SELECT 
  JSON_CONTAINS_PATH(
    '{"a": 1, "b": 2, "c": {"d": 4}}', 
    'one', '$.a.d'
  ) result;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------+
| result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A função retorna 0porque o documento JSON não contém o caminho $.a.d.

Resumo

  • Use a JSON_CONTAINS_PATH()função para verificar se um documento JSON contém caminhos específicos.

Deixe um comentário

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