- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
ARRAY_TO_STRING¶
Retorna uma matriz de entrada convertida em uma cadeia de caracteres, colocando todos os valores em cadeias de caracteres (usando TO_VARCHAR) e concatenando-os (usando a cadeia de caracteres do segundo argumento para separar os elementos).
Sintaxe¶
ARRAY_TO_STRING( <array> , <separator_string> )
Argumentos¶
array
O conjunto de elementos a serem convertidos em uma cadeia de caracteres.
separator_string
A cadeia de caracteres a ser colocada entre cada elemento, normalmente um espaço, vírgula, ou outro separador legível pelo homem.
Retornos¶
Esta função retorna um valor do tipo VARCHAR.
Notas de uso¶
Um argumento NULL retorna NULL como resultado.
Um NULL em uma matriz é convertido em uma cadeia de caracteres vazia no resultado.
Para incluir um espaço em branco entre os valores, você deve preceder o espaço com o caractere separador (por exemplo
', '
). Consulte os exemplos abaixo.
Exemplos¶
Retorna várias matrizes como cadeias de caracteres concatenadas:
SELECT column1,
ARRAY_TO_STRING(PARSE_JSON(column1), '') AS no_separation,
ARRAY_TO_STRING(PARSE_JSON(column1), ', ') AS comma_separated
FROM VALUES
(NULL),
('[]'),
('[1]'),
('[1, 2]'),
('[true, 1, -1.2e-3, "Abc", ["x","y"], {"a":1}]'),
('[, 1]'),
('[1, ]'),
('[1, , ,2]');
+-----------------------------------------------+---------------------------------+-------------------------------------------+
| COLUMN1 | NO_SEPARATION | COMMA_SEPARATED |
|-----------------------------------------------+---------------------------------+-------------------------------------------|
| NULL | NULL | NULL |
| [] | | |
| [1] | 1 | 1 |
| [1, 2] | 12 | 1, 2 |
| [true, 1, -1.2e-3, "Abc", ["x","y"], {"a":1}] | true1-0.0012Abc["x","y"]{"a":1} | true, 1, -0.0012, Abc, ["x","y"], {"a":1} |
| [, 1] | 1 | , 1 |
| [1, ] | 1 | 1, |
| [1, , ,2] | 12 | 1, , , 2 |
+-----------------------------------------------+---------------------------------+-------------------------------------------+
Este exemplo retorna uma matriz que contém um valor NULL como uma cadeia de caracteres concatenada. Primeiro, crie uma tabela e insira uma matriz:
CREATE TABLE test_array_to_string_with_null(a ARRAY);
INSERT INTO test_array_to_string_with_null
SELECT (['A', NULL, 'B']);
Retorna a matriz como uma cadeia de caracteres concatenada:
SELECT a,
ARRAY_TO_STRING(a, ''),
ARRAY_TO_STRING(a, ', ')
FROM test_array_to_string_with_null;
+--------------+------------------------+--------------------------+
| A | ARRAY_TO_STRING(A, '') | ARRAY_TO_STRING(A, ', ') |
|--------------+------------------------+--------------------------|
| [ | AB | A, , B |
| "A", | | |
| undefined, | | |
| "B" | | |
| ] | | |
+--------------+------------------------+--------------------------+