- Catégories :
CONCAT_WS¶
Concatène deux chaînes ou plus, ou concatène deux ou plusieurs valeurs binaires, et utilise le premier argument comme délimiteur entre les chaînes suivantes.
Note
Contrairement à certaines implémentations de la fonction CONCAT_WS, la fonction CONCAT_WS Snowflake n’ignore pas les valeurs NULL.
- Voir aussi :
Syntaxe¶
CONCAT_WS( <separator> , <expression> [ , <expression> ... ] )
Arguments¶
separatorLe séparateur doit répondre aux mêmes exigences que
expression.expressionLes expressions d’entrée doivent toutes être des chaînes, ou toutes des valeurs binaires.
Renvoie¶
La fonction renvoie une valeur VARCHAR ou BINARY qui contient les arguments 2 à N, séparés par le premier argument.
Si l’un des arguments est NULL, la fonction renvoie NULL.
Le type de données de la valeur renvoyée est identique à celui des valeurs d’entrée.
Notes sur l’utilisation¶
Les fonctions de métadonnées telles que GET_DDL n’acceptent que les constantes en entrée. L’entrée concaténée génère une erreur.
CONCAT_WS place des séparateurs entre les arguments, pas après le dernier argument. Si CONCAT_WS est appelé avec un seul argument après le séparateur, aucun séparateur n’est ajouté.
Détails du classement¶
The collation specifications of all input arguments must be compatible.
The collation of the result of the function is the highest-precedence collation of the inputs.
Exemples¶
Appelez la fonction CONCAT_WS pour concaténer trois chaînes avec un séparateur de virgule :
SELECT CONCAT_WS(',', 'one', 'two', 'three');
+---------------------------------------+
| CONCAT_WS(',', 'ONE', 'TWO', 'THREE') |
|---------------------------------------|
| one,two,three |
+---------------------------------------+
L’exemple suivant montre que si un argument est NULL, la fonction renvoie NULL :
SELECT CONCAT_WS(',', 'one', NULL, 'two');
+------------------------------------+
| CONCAT_WS(',', 'ONE', NULL, 'TWO') |
|------------------------------------|
| NULL |
+------------------------------------+
L’exemple suivant montre que lorsqu’il n’y a qu’une seule chaîne à concaténer, la fonction CONCAT_WS n’ajoute pas de séparateur :
SELECT CONCAT_WS(',', 'one');
+-----------------------+
| CONCAT_WS(',', 'ONE') |
|-----------------------|
| one |
+-----------------------+