Frequently asked questions - Base

From The Document Foundation Wiki
< Faq‎ | Base
Jump to: navigation, search
This page is a translated version of the page Faq/Base/117 and the translation is 91% complete.

Other languages:
Deutsch • ‎English • ‎français • ‎italiano


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