J'essaye de faire du formatage de texte avec SQL (MS SQL Server 2008). J'ai trois variables qui vont renvoyer des chaînes vides ou une sorte de texte, elles ne seront jamais nulles. Je voudrais afficher le texte de la façon suivante:
@ Var1 = 'A' @ Var2 = 'B' @ Var3 = 'C' ==> A, B, C
@ Var1 = 'A' @ Var2 = '' @ Var3 = 'C' ==> A, C
@ Var1 = '' @ Var2 = 'B' @ Var3 = 'C' ==> B, C
@ Var1 = '' @ Var2 = '' @ Var3 = 'C' ==> C
.
.
.
@ Var1 = '' @ Var2 = '' @ Var3 = '' ==>
etcChaînes vides SQL et mise en forme du texte
Voici une version simplifiée de ce que j'ai ...
DECLARE @Var1 NVARCHAR(100)
DECLARE @Var2 NVARCHAR(100)
DECLARE @Var3 NVARCHAR(100)
SET @Var1 = 'A'
SET @Var2 = 'B'
SET @Var3 = 'C'
SELECT
ISNULL(NULLIF(@Var1,''), '')
+
CASE
WHEN NULLIF(@Var1,'') IS NOT NULL AND NULLIF(@Var2,'') IS NOT NULL THEN ', ' ELSE ''
END
+
ISNULL(NULLIF(@Var2,''),'')
+
CASE
WHEN NULLIF(@Var2,'') IS NOT NULL AND NULLIF(@Var3,'') IS NOT NULL THEN ', ' ELSE ''
END
+
ISNULL(NULLIF(@Var3,''),'')
Je me sens comme Je manque quelques détails importants. Faites-moi savoir si des éclaircissements sont nécessaires.
N'oubliez pas de supprimer la virgule finale. –
Malheureusement, je n'ai pas cette option disponible parce que l'arrière-plan est qu'un webservice appelle une procédure stockée et la conversion de ce qu'il renvoyé à xml, il n'y a pas de place pour utiliser un langage côté client. –
@ user1401635 - Et qu'est-ce qui consomme le XML? Est-ce que cela pourrait faire trois choses au lieu d'une? ' xxx yyy'? –
MatBailie