Função MySQL JSON_LENGTH()

Resumo : neste tutorial, você aprenderá como usar a JSON_LENGTH()função MySQL para obter o comprimento de um documento JSON.

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

A JSON_LENGTH()função retorna o comprimento de um documento JSON. Aqui está a sintaxe da JSON_LENGTH()função:

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

Nesta sintaxe:

  • json_doc: este é o documento JSON cujo comprimento você deseja obter.
  • path: Este é um argumento opcional. Se você fornecer o path , a JSON_LENGTH()função retornará o comprimento do valor json_doclocalizado pelo path.

A JSON_LENGTH()função retorna NULLse algum argumento for NULLou o caminho não identificar nenhum valor no documento JSON.

A JSON_LENGTH()função gera um erro se json_docnão for um documento JSON válido ou se o caminho não for uma expressão de caminho válida.

O JSON_LENGTHcalcula o comprimento de um documento JSON da seguinte maneira:

  • Um escalar tem comprimento 1.
  • Uma matriz tem o comprimento igual ao número de elementos da matriz.
  • Um objeto tem o comprimento igual ao número de membros do objeto.

A função não considera o comprimento de arrays ou objetos aninhados.

Exemplo de função JSON_LENGTH() do MySQL

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

1) Obtendo o comprimento de um escalar

O exemplo a seguir usa a JSON_LENGTH()função para retornar o comprimento de um escalar:

SELECT 
  JSON_LENGTH('"Hello"') length;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

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

2) Obtendo o comprimento de um array

O exemplo a seguir usa a JSON_LENGTH()função para retornar o número de elementos em uma matriz:

SELECT 
  JSON_LENGTH('[1, 2, 3]') length;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

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

3) Obtendo o comprimento de um objeto

O exemplo a seguir usa a JSON_LENGTH()função para retornar o número de membros em um objeto:

SELECT 
  JSON_LENGTH('{"name": "John", "age": 22}') length;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

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

4) Obtendo o comprimento de um objeto que possui uma matriz aninhada

O exemplo a seguir usa a JSON_LENGTH()função para retornar o número de membros em um objeto que possui uma propriedade que é uma matriz. Não conta o comprimento da matriz aninhada.

SELECT 
  JSON_LENGTH(
    '{"name": "John", "age": 22, "skills":["PHP","MySQL","JavaScript"]}'
  ) length;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

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

5) Obtendo o comprimento de um valor especificado por um caminho

O exemplo a seguir usa a JSON_LENGTH()função para retornar o número de elementos de um array identificado por um caminho:

SELECT 
  JSON_LENGTH(
    '{"name": "John", "age": 22, "skills":["PHP","MySQL"]}',
    '$.skills'
  ) length;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

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

Resumo

  • Use a JSON_LENGTH()função para determinar o comprimento de um documento JSON, que é o número de elementos em uma matriz JSON ou o número de pares de valores-chave em um objeto JSON.

Deixe um comentário

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