JSON_OBJECT (Lakehouse v1)
Crée un objet JSON à partir d’arguments alternant clés et valeurs. Les clés doivent être des chaînes ; les valeurs peuvent être des constantes, des expressions ou des colonnes. Une paire dont la clé ou la valeur est NULL est omise du résultat, contrairement à JSON_ARRAY, qui conserve un élément NULL ; utilisez JSON_OBJECT_KEEP_NULL pour les conserver.
TRY_JSON_OBJECT prend les mêmes arguments et renvoie NULL au lieu de lever une erreur lorsqu’un argument ne peut pas être converti.
Syntaxe Analyze
Section intitulée « Syntaxe Analyze »func.json_object(key1, value1[, key2, value2[, ...]])
func.try_json_object(key1, value1[, key2, value2[, ...]])Exemples Analyze
Section intitulée « Exemples Analyze »func.json_object('name', table.product_name, 'price', table.price)
json_object('name', product_name, 'price', price)|--------------------------------------------------+{"name":"Apple","price":1.2} |Syntaxe SQL
Section intitulée « Syntaxe SQL »JSON_OBJECT(key1, value1[, key2, value2[, ...]])
TRY_JSON_OBJECT(key1, value1[, key2, value2[, ...]])Type de retour
Section intitulée « Type de retour »Objet JSON.
Exemples SQL
Section intitulée « Exemples SQL »Exemples SQL 1 : création d’un objet JSON à partir de valeurs constantes
Section intitulée « Exemples SQL 1 : création d’un objet JSON à partir de valeurs constantes »SELECT JSON_OBJECT('name', 'PlaidCloud Lakehouse', 'version', 1, 'active', TRUE);
json_object('name', 'PlaidCloud Lakehouse', 'version', 1, 'active', true)|--------------------------------------------------------------------------+{"active":true,"name":"PlaidCloud Lakehouse","version":1} |Exemples SQL 2 : création d’objets JSON à partir des données de la table
Section intitulée « Exemples SQL 2 : création d’objets JSON à partir des données de la table »CREATE TABLE products ( ProductName VARCHAR(255), Price DECIMAL(10, 2));
INSERT INTO products (ProductName, Price)VALUES ('Apple', 1.2), ('Banana', 0.5), ('Orange', 0.8);
SELECT JSON_OBJECT('name', ProductName, 'price', Price) FROM products;
json_object('name', productname, 'price', price)|------------------------------------------------+{"name":"Apple","price":1.2} |{"name":"Banana","price":0.5} |{"name":"Orange","price":0.8} |Exemples SQL 3 : TRY_JSON_OBJECT renvoie NULL en cas d’erreur
Section intitulée « Exemples SQL 3 : TRY_JSON_OBJECT renvoie NULL en cas d’erreur »Un nombre impair d’arguments laisse une clé sans valeur, ce que JSON_OBJECT rejette :
SELECT TRY_JSON_OBJECT('name');
try_json_object('name')|-----------------------+NULL |