Faq/Base/117/fr

From The Document Foundation Wiki
< Faq‎ | Base‎ | 117
Jump to: navigation, search

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.
copie d'écran requête utilisant les méthodes
CONCAT permet d'éviter la propagation du Null