2017-08-29 45 views
0

我有一個公式,在時間字段取代了一年,然後也蒙上了日期時間字段的日期:減去日起六個月有公式

cast(DATEADD(year,DATEDIFF(year,LAW_TAEEMASTER.MASTR_ENTRY,GETDATE()),LAW_TAEEMASTER.MASTR_ENTRY) as date) as [New Date] 

返回這樣的結果:2017年-0-08-07從:2008-08-07。現在,我需要從中減去6個月,所以新的結果將是2017-02-07。我做了以下的變化,這導致了錯誤的關鍵字附近

不正確的語法「爲」

cast(DATEADD(Month,-6,cast(DATEADD(year,DATEDIFF(year,LAW_TAEEMASTER.MASTR_ENTRY,GETDATE()),LAW_TAEEMASTER.MASTR_ENTRY) as date) as [6 mo Anniv] 
+0

你可能已經忘記了爲[6月Anniv]前增加2個右括號爲您的新CAST和DATEADD –

+0

爲什麼這個問題一直向下投?這個問題表明,OP已經試圖解決他們自己的問題? – Gareth

+0

謝謝。我最初嘗試過。沒有強調突出顯示一個錯誤,但仍然給出了相同的錯誤。 – thummel1

回答

2

你忘了把括號關閉新CAST和DATEADD函數減去6個月的原始結果。另外,您的新CAST函數應該包含AS DATE。

CAST(DATEADD(Month,-6,cast(DATEADD(year,DATEDIFF(year,'01/01/2017',GETDATE()),'01/01/2017') AS DATE)) AS DATE) as [6 mo Anniv]

+0

我明白我錯過了什麼。這解決了我的問題。非常感謝!! – thummel1

+0

不客氣。您可以選擇此項作爲此調查的答案來完成此操作。 –