Je souhaite nommer dynamiquement des colonnes dans une requête basée sur le choix d'un paramètre par les utilisateurs. Mon idée était que selon le choix des utilisateurs, la colonne serait nommée via le "As" qui vient après la spécification de colonne/champ.Puis-je utiliser Functions/expressions pour nommer une colonne via l'instruction "As" dans T-SQL?
Voici mon exemple:
Select Distinct
Case @DateParam
When 'Created' Then Convert(Varchar, h.wmhd_cre_date, 101)
When 'Action' Then Convert(Varchar, d.wmdt_date, 101)
End As CONCATENATE(@DateParm + 'Date'),
Donc, si l'utilisateur a sélectionné le paramètre pour le « créé » la date, l'en-tête de la colonne montrerait « CreatedDate ». Mais s'ils ont sélectionné le paramètre pour la date "Action", la colonne s'appellera "ActionDate".
J'ai déjà essayé de faire des choses similaires et je commence à comprendre que vous ne pouvez pas mettre d'expressions après une instruction "As". Est-ce vrai, ou est-ce que quelqu'un a des idées?
Phil, Merci pour le conseil! Je pensais que j'avais essayé ce que vous avez suggéré ci-dessus à un moment donné dans le passé, mais je dois avoir mal fait. Puisque j'ai déjà la construction "Case" en place, votre option semble être un match parfait. –
Glad cela a aidé! –