2013-09-25 198 views
0

這可能看起來像一個微不足道的問題,但我一直在爲此工作了兩個小時。基本上我需要通過操縱當前日期來獲得今年的開始,即從2013年9月25日開始的01/01/2013。SQL日期修改

我已經能夠得到月初,但我無法弄清楚如何得到一年的開始。

我的代碼:

SET :testDate = curdate() - DAYOFMONTH(curDAate()) + 1 

這讓我這個月的第一天,但​​我不知道該怎麼做同樣的事情,但允許它這​​樣減去幾個月而不是幾天。

任何輸入,將不勝感激。

謝謝!

+1

哪個版本的SQL Server? –

+0

它是Pervasive Control Center版本11.20.015.000對不起,我感到困惑 – eanderson

+0

這是什麼樣的SQL?我不認識那種格式和DAYOFMONTH功能。 – RBarryYoung

回答

0

我想這些會做:

= CURDATE() - DAYOFYEAR(CURDATE()) + 1 

或:

= CONVERT(CONCAT(YEAR(CURDATE(), '-01-01'), SQL_DATE) 
0

解決:

set :test = DATEADD(month, -month(curdate())+1, curdate()) - DAYOFMONTH(curDate()) +1 

感謝您的幫助!