- Catégories :
Fonctions de données semi-structurées et structurées (tableau/objet)
OBJECT_CONSTRUCT¶
Renvoie un OBJECT construit à partir des arguments.
- Voir aussi :
Syntaxe¶
Arguments¶
keyClé dans une paire clé-valeur. Chaque clé est une valeur VARCHAR.
valueValeur associée à la clé. La valeur peut être n’importe quel type de données.
*Lorsqu’elle est invoquée avec un astérisque (caractère générique), la valeur OBJECT est construite à partir des données spécifiées en utilisant les noms d’attributs comme clés et les valeurs associées comme valeurs. Voir les exemples ci-dessous.
Lorsque vous transmettez un caractère générique à la fonction, vous pouvez qualifier le caractère générique avec le nom ou l’alias de la table. Par exemple, pour transmettre toutes les colonnes de la table nommée
mytable, précisez les éléments suivants :Vous pouvez également utiliser les mots-clés ILIKE et EXCLUDE pour le filtrage :
ILIKE filtre les noms de colonnes qui correspondent au motif spécifié. Un seul motif est autorisé. Par exemple :
EXCLUDE filtre les noms de colonnes qui ne correspondent pas à la / aux colonnes spécifiées. Par exemple :
Les qualificatifs sont valides lorsque vous utilisez ces mots-clés. L’exemple suivant utilise le mot-clé ILIKE pour filtrer toutes les colonnes qui correspondent au motif
col1%dans la tablemytable:Les mots-clés ILIKE et EXCLUDE ne peuvent pas être combinés dans un seul appel de fonction.
Vous pouvez également spécifier le caractère générique dans une constante d’objet.
Pour cette fonction, les mots-clés ILIKE et EXCLUDE ne sont valables que dans une liste SELECT ou une clause GROUP BY.
Pour plus d’informations sur les mots-clés ILIKE et EXCLUDE, voir la section « Paramètres » dans SELECT.
Renvoie¶
Renvoie une valeur de type OBJECT.
Notes sur l’utilisation¶
Si la clé ou la valeur est NULL (c’est-à-dire SQL NULL), la paire clé-valeur est omise de l’objet résultant. Une paire clé-valeur constituée d’une chaîne autre que NULL comme clé et d’une valeur JSON null (c’est-à-dire
PARSE_JSON('NULL')) n’est pas omise. Pour plus d’informations, voir Valeurs NULL.L’objet construit ne conserve pas nécessairement l’ordre d’origine des paires clé-valeur.
Dans de nombreux contextes, vous pouvez utiliser une constante OBJECT (également appelée OBJECT littéral) au lieu de la fonction OBJECT_CONSTRUCT.
Exemples¶
Les exemples suivants appellent la fonction OBJECT_CONSTRUCT :
Créer un objet simple¶
Cet exemple montre comment construire un objet simple :
Créer des objets en utilisant le caractère générique (*)¶
Cet exemple utilise le caractère générique (*) pour obtenir le nom d’attribut et la valeur de la clause FROM :
Cet exemple utilise * et comprend le mot-clé ILIKE pour filtrer la sortie :
Cet exemple utilise * et comprend le mot-clé EXCLUDE pour filtrer la sortie :
Cet exemple est équivalent à l’exemple précédent, mais il utilise une constante d’objet au lieu de la fonction OBJECT_CONSTRUCT :
Ceci est un autre exemple utilisant *. Dans ce cas, les noms d’attribut ne sont pas spécifiés, donc Snowflake utilise COLUMN1, COLUMN2, etc. :
Créer des objets à l’aide d’un SQLNULL et d’un JSON null¶
Cet exemple crée un objet en utilisant SQL NULL et la chaîne 'null' :
Pour plus d’informations, voir Valeurs NULL.
Créer des objets à l’aide d’expressions¶
OBJECT_CONSTRUCT prend en charge les expressions et les requêtes pour ajouter, modifier ou omettre des valeurs de l’objet JSON.
Créer des valeurs OBJECT imbriquées¶
L’exemple suivant crée une table et insère des valeurs OBJECT avec deux niveaux d’imbrication :