Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
s’applique à :SQL Server
Azure SQL Database
point de terminaison Azure SQL Managed Instance
SQL Analytics dans Microsoft Fabric
Warehouse dans Microsoft Fabric
Construit le texte du tableau JSON à partir de zéro expression ou plus.
Syntaxe
JSON_ARRAY ( [ <json_array_value> [ , ...n ] ] [ <json_null_clause> ] [ RETURNING json ] )
<json_array_value> ::= value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Arguments
json_array_value
Expression qui définit la valeur de l’élément dans le tableau JSON.
json_null_clause
Peut être utilisé pour contrôler le comportement de JSON_OBJECT fonction lorsque value_expression est NULL. L’option NULL ON NULL convertit la valeur NULL SQL en valeur NULL JSON lors de la génération de la valeur de l’élément dans le tableau JSON. L’option ABSENT ON NULL omettrea l’élément dans le tableau JSON si la valeur est NULL. La valeur par défaut de cette option est ABSENT ON NULL.
Valeur retournée
Retourne une chaîne de tableau JSON valide de type nvarchar(max). Si l’option RETURNING json est incluse, le tableau JSON est retourné en tant que type json .
Pour plus d’informations sur ce que vous voyez dans la sortie de la fonction JSON_ARRAY, consultez les articles suivants :
| Article | Descriptif |
|---|---|
| Comment FOR JSON convertit les types de données SQL Server en types de données JSON | La fonction JSON_ARRAY utilise les règles décrites dans cet article FOR JSON pour convertir les types de données SQL en types JSON dans la sortie de tableau JSON. |
| Comment FOR JSON place dans une séquence d’échappement les caractères spéciaux et les caractères de contrôle | La fonction JSON_ARRAY met en échappement les caractères spéciaux et représente les caractères de contrôle dans la sortie JSON, comme décrit dans cet article FOR JSON. |
Exemples
Exemple 1
L’exemple suivant retourne un tableau JSON vide.
SELECT JSON_ARRAY();
Résultat
[]
Exemple 2
L’exemple suivant retourne un tableau JSON avec quatre éléments.
SELECT JSON_ARRAY('a', 1, 'b', 2);
Résultat
["a",1,"b",2]
Exemple 3
L’exemple suivant retourne un tableau JSON avec trois éléments, car l’une des valeurs d’entrée est NULL. Étant donné que le json_null_clause est omis et que la valeur par défaut de cette option est ABSENT ON NULL, la NULL valeur dans l’une des entrées n’est pas convertie en valeur NULL JSON.
SELECT JSON_ARRAY('a', 1, 'b', NULL);
Résultat
["a",1,"b"]
Exemple 4
L’exemple suivant retourne un tableau JSON avec quatre éléments. L’option NULL ON NULL est spécifiée afin que toute valeur sql NULL de l’entrée soit convertie en valeur NULL JSON dans le tableau JSON.
SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL);
Résultat
["a",1,null,2]
Exemple 5
L’exemple suivant retourne un tableau JSON avec deux éléments. Un élément contient une chaîne JSON et un autre élément contient un objet JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1));
Résultat
["a",{"name":"value","type":1}]
Exemple 6
L’exemple suivant retourne un tableau JSON avec trois éléments. Un élément contient une chaîne JSON, un autre élément contient un objet JSON et un autre élément contient un tableau JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, NULL, 2 NULL ON NULL));
Résultat
["a",{"name":"value","type":1},[1,null,2]]
Exemple 7
L’exemple suivant retourne un tableau JSON avec les entrées spécifiées sous forme de variables ou d’expressions SQL.
DECLARE @id_value AS NVARCHAR (64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));
Résultat
[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]
Exemple 8
L’exemple suivant retourne un tableau JSON par ligne dans la requête.
SELECT s.session_id,
JSON_ARRAY(s.host_name, s.program_name, s.client_interface_name)
FROM sys.dm_exec_sessions AS s
WHERE s.is_user_process = 1;
Résultat
| session_id | info |
|---|---|
| 52 | ["WIN16-VM","Microsoft SQL Server Management Studio - Query",".Net SqlClient Data Provider"] |
| 55 | ["WIN16-VM","Microsoft SQL Server Management Studio - Query",".Net SqlClient Data Provider"] |
| 56 | ["WIN19-VM","SQLServerCEIP",".Net SqlClient Data Provider"] |
Exemple 9
L’exemple suivant retourne un tableau JSON en tant que type json .
SELECT JSON_ARRAY(1 RETURNING JSON);
Résultat
[1]