我希望能夠根據用戶對參數的選擇動態地命名查詢中的列。我可以使用函數/表達式通過T-SQL中的「As」語句來命名列嗎?
我的想法是,基於用戶的選擇,列將通過列/字段規範之後的「As」命名。
這是我的例子:
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'),
因此,如果用戶選擇了「創建」日期參數,然後列標題會顯示「CreatedDate」。但是如果他們爲「Action」日期選擇參數,那麼該列將被命名爲「ActionDate」。
我試着做類似的事情之前,我開始得到的想法,你不能把表達式後的「作爲」聲明。這是真的,還是有人有任何想法?
菲爾,謝謝你的提示!我以爲我在過去某個時間點試過了你的建議,但我一定是做錯了。由於我已經有了「案例」結構,因此您的選擇似乎是完美匹配。 – 2010-11-28 00:23:41
很高興這有幫助! – 2010-11-28 00:24:59