我有一個這樣的SQL存儲過程的查詢結果(見下文)與日期函數別名SQL列字段
EmpID FirstName Dept JoinDate Code1 Code2 Code3 Code4
01 aaa service 2017-02-11 0 2 3 5
02 bbb customerCare 2010-01-23 1 4 7 9
03 ccc Receptionist 2009-12-20 2 5 1 8
所有這些字段從目前存在的表通過用條件接合服用。(我創建了一個選擇存儲過程來執行每月的這第一個工作日)
我的要求是,我想要替換所有的代碼字段的開始日期。例如,
如果我在2017年3月1日執行此存儲過程,結果應該是這樣的
EmpID FirstName Dept JoinDate 2016-12-01 2017-01-01 2017-02-01 2017-03-01
01 aaa service 2017-02-11 0 2 3 5
02 bbb customerCare 2010-01-23 1 4 7 9
03 ccc Receptionist 2009-12-20 2 5 1 8
例2: 如果我執行4月1日2017年這個存儲過程,結果應該是像這樣
*
EmpID FirstName Dept JoinDate 2017-01-01 2017-02-01 2017-03-01 2017-04-01
01 aaa service 2017-02-11 0 2 3 5
02 bbb customerCare 2010-01-23 1 4 7 9
03 ccc Receptionist 2009-12-20 2 5 1 8
*
個這menas,
碼4場別名應該是當月的第一天
CODE3場別名應該是當月-1
碼2場別名的第一天應該是本月的第一天-2
code1字段別名應該是本月的第一天-3
我怎樣才能做到這一點?我正在使用SQL服務器2014. 我無法找到如何將字段名稱與我們在sql server中連接多個表的日期進行別名。 請幫幫我。感謝您花時間閱讀我的問題,並非常感謝您的幫助。
你可能不得不使用動態SQL與PIVOT到一個月行變爲列。 – EMUEVIL
只需要動態查詢 – DhruvJoshi
@DhruvJoshi你是對的。你可以使用DATEADD來獲取值。 – EMUEVIL