Faq/Base/117/fr

Quels codes SQL utiliser pour concaténer deux champs ?
Soit une Base avec une Table Animateurs contenant, outre un champ pour la clé primaire, un champ Nom et un champ Prenom.

La requête de concaténation de ces deux champs peut être réalisée de plusieurs façons. Les solutions testées pour HSQLDB :

"Animateurs"."Prenom" || ' ' || "Animateurs"."Nom"

COALESCE("Animateurs"."Prenom" || ' ' || "Animateurs"."Nom")

CONCAT( CONCAT( "Animateurs"."Prenom", ' ' ), "Animateurs"."Nom" )

"Prenom" + SPACE( 1 ) + "Nom"

"Prenom" + CHAR( 32 ) + "Nom"

Nota : parmi ces solutions celle utilisant la fonction CONCAT est la seule permettant d'éviter la propagation des valeurs nulles


 * Dans l'exemple suivant le prénom n'est pas renseigné pour l'enregistrement "Mozart"
 * Le résultat de la concaténation est Null pour toutes les syntaxes hormis celle utilisant CONCAT.