- Catégories :
VALUES¶
Dans l’instruction SELECT, la sous-clause VALUES de la clause FROM vous permet de spécifier un ensemble de constantes afin de former un ensemble fini de lignes.
Pour plus d’informations sur la clause VALUES dans l’instruction INSERT, voir la documentation de l’instruction INSERT.
Syntaxe¶
Paramètres¶
exprChaque expression doit être une constante ou une expression pouvant être évaluée comme une constante lors de la compilation de l’instruction SQL.
La plupart des expressions arithmétiques simples et des fonctions de chaîne peuvent être évaluées au moment de la compilation, mais la plupart des autres expressions ne le peuvent pas.
table_aliasAlias facultatif pour donner un nom à l’ensemble de lignes, comme si l’ensemble de lignes était une table.
column_aliasDes alias de colonnes facultatifs peuvent spécifier les noms des colonnes.
Notes sur l’utilisation¶
Dans une clause FROM, une clause VALUES ne peut pas contenir le mot clé
DEFAULT. Cette limite est en contraste avec la clause VALUES d’une instruction INSERT, qui prend en charge l’utilisation deDEFAULT; par exemple,INSERT INTO table VALUES (10, DEFAULT, 'Name') ....Lorsqu’une clause VALUES inclut plusieurs valeurs de types de données différents pour la même colonne, Snowflake détermine un type de données commun qui peut englober toutes les valeurs et convertit implicitement chaque valeur en ce type commun. Cette conversion peut produire des résultats inattendus ou des erreurs si vous n’en êtes pas conscient.
Pour éviter une conversion forcée inattendue, CAST explicitement chaque valeur vers le type souhaité, séparez les valeurs en plusieurs instructions SQL, ou assurez-vous que toutes les valeurs d’une colonne partagent le même type.
Exemple numérique
Lorsque les valeurs numériques de la même colonne diffèrent considérablement en termes d’échelle ou de précision, Snowflake peut renvoyer une erreur
out of rangecar une valeur ne correspond pas au type numérique commun déterminé.Pour les valeurs numériques en particulier, vous pouvez également spécifier des valeurs sous forme de chaînes de texte entre guillemets, puis les convertir en valeurs numériques, si nécessaire.
Exemples d’horodatage
Lorsque des valeurs d’horodatage de types différents apparaissent dans la même colonne, Snowflake convertit toutes les valeurs en un type d’horodatage commun. Dans l’exemple suivant, une valeur TIMESTAMP_NTZ est contrainte à se transformer en TIMESTAMP_LTZ :
La clause VALUES est limitée à 200 000 lignes.
Exemples¶
Les exemples suivants utilisent la clause VALUES pour générer un ensemble fixe connu de lignes :
Vous pouvez faire référence à des valeurs soit par nom de colonne (implicite), soit par position de colonne. L’exemple suivant fait référence à la deuxième colonne par sa position :
L’exemple suivant distingue plusieurs clauses VALUES en utilisant des alias :
Vous pouvez également spécifier des alias pour les noms de colonnes, comme indiqué dans l’exemple suivant :