JSON_DECIMAL
Descrição
JSON_DECIMAL
é uma função de linha que extrai uma NUMERIC
de um campo em um objeto JSON.Sintaxe
JSON_DECIMAL
(json_string
, "json_field
")Valor de retorno
Retorna um valor por linha do tipo
NUMERIC
.Parâmetros de entrada
- json_string
- É obrigatório. O nome de um campo ou uma expressão do tipoTEXT(ou uma cadeia de caracteres literal) que contém um objeto JSON válido.
- json_field
- É obrigatório. A chave ou o nome do valor do campo que você quer extrair.
- Para campos de nível superior, especifique o identificador de nome (chave) do campo.
- Para acessar campos em um objeto aninhado, especifique um caminho separado por pontos de nomes de campos (por exemplo,Top_level_field_name.nested_field_name).
- Para extrair um valor de uma matriz, especifique o caminho separado por pontos dos nomes de campo e a posição da matriz, começando em 0 para o primeiro valor em uma matriz, 1 para o segundo valor e assim por diante (por exemplo,field_name.0).
- Se o identificador de nome contém caracteres de ponto ou ponto dentro do próprio nome, use o escape do nome colocando-o entre colchetes (por exemplo, [field.name.com.dot].[other.dot.field.name]
- Se o nome do campo é nulo (vazio), use colchetes sem nada entre eles como o identificador, por exemplo[].
Exemplos
Se você tivesse um campo
Top_scores
que continha um objeto JSON formatado desta forma (com os valores contidos em uma matriz):{"practice_scores":["538.67","674.99","1021.52"], "test_scores":["753.21","957.88","1032.87"]}
Você pode extrair o terceiro valor da matriz
test_scores
usando a expressão , que retorna "1032.87"
: JSON_DECIMAL([top_scores], "test_scores.2")