JSON_OBJECT
La fonction JSON_OBJECT génère un objet JSON à l'aide des paires key: value spécifiées. Si aucune paire key: value n'est fournie, un objet vide est renvoyé.
- expression-nom-clé
- Nom de la clé JSON. Le nom ne doit pas être null. Lorsque vous utilisez le signe deux-points pour définir une paire key: value , key-name-expression doit être un littéral chaîne de caractères. Sinon, le résultat de key-name-expression doit être un type de données de chaîne graphique ou de caractère intégré. Il ne peut pas s'agir de données binaires CHAR ou VARCHAR.
- expression-JSON
- Expression à utiliser pour générer la valeur JSON associée à key-name-expression. Le type de résultat de cette expression peut être tout type de données intégré à l'exception de XML, ROWID ou DATALINK. Il ne peut pas s'agir de données binaires CHAR ou VARCHAR. Il ne peut pas s'agir d'un type défini par l'utilisateur qui est sourcé sur l'un de ces types de données.
- FORMAT JSON ou FORMAT BSON
- Indique si JSON-expression est déjà des données formatées.
- FORMAT JSON
- JSON-expression est formaté en tant que données JSON. Si JSON-expression est un type de données de type chaîne de caractères ou graphique, il est traité comme des données JSON. Si JSON-expression est un type de données de chaîne binaire, il est interprété comme des données UTF-8 ou UTF-16 .
- FORMAT BSON
- JSON-expression est formatée en tant que représentation BSON des données JSON et doit être un type de données de chaîne binaire.
- NULL ON NULL ou ABSENT SUR NULL
- Indique ce qu'il faut renvoyer lorsque JSON-expression est la valeur null.
- NULL ON NULL
- La valeur zéro est renvoyée. Il s'agit de la valeur par défaut.
- ABSENT SUR NULL
- La paire key: value est omise de l'objet JSON.
- SANS CLÉS UNIQUES ou AVEC CLÉS UNIQUES
- Indique si les valeurs de clé de l'objet JSON résultant doivent être uniques.
- SANS CLÉS UNIQUES
- L'objet JSON résultant ne sera pas vérifié pour les clés en double. Il s'agit de la valeur par défaut.
- AVEC DES CLÉS UNIQUES
- L'objet JSON résultant doit avoir des valeurs de clé uniques. Une erreur est générée si des clés en double sont générées.
- RETOUR type-données
- Indique le format du résultat.
- type de données
- Type de données du résultat. Pour les résultats CHAR et VARCHAR, le CCSID ne peut pas être 65535. La valeur par défaut est CLOB (2G) CCSID 1208.
Si un CCSID est spécifié et que le type de données est GRAPHIC, VARGRAPHIC ou DBCLOB, le CCSID doit être un CCSID Unicode.
Si l'attribut CCSID n'est pas spécifié, le CCSID est déterminé comme décrit dans la spécification CAST.
- FORMAT JSON
- Les données JSON sont renvoyées sous forme de chaîne JSON.
- ENCODING UTF8 ou ENCODING UTF16
- Codage à utiliser lorsque le type de données est un type de chaîne binaire. Cette clause est autorisée uniquement pour les types de chaîne binaire. La valeur par défaut pour les chaînes binaires est UTF8.
- FORMAT BSON
- Les données JSON sont renvoyées au format BSON. Lorsque FORMAT BSON est spécifié, data-type doit être un type de chaîne VARBINARY ou BLOB.
Exemples
- Générez un objet JSON pour un nom.
Le résultat de l'une de ces instructions est la chaîne JSON suivante:VALUES (JSON_OBJECT(KEY 'first' VALUE 'John', KEY 'last' VALUE 'Doe')); VALUES (JSON_OBJECT('first' : 'John', 'last' : 'Doe'));{"first":"John","last":"Doe"} - Générez un objet JSON contenant le nom, la date d'embauche et le salaire de l'employé avec le numéro d'employé'000020'.
Le résultat de cette instruction est la chaîne JSON suivante:SELECT JSON_OBJECT( 'Last name' : LASTNAME, 'Hire date' : HIREDATE, 'Salary' : SALARY) FROM EMPLOYEE WHERE EMPNO = '000020';{"Last name":"THOMPSON","Hire date":"1973-10-10","Salary":41250.00}
