2015-06-03 32 views
2

這可能比我做的更容易,我對SQL很陌生。如何使用GETDATE的DATEPART作爲查詢的變量

我有一個格式爲YYYY-MM-DD的電影發行日期很多的數據庫。

我試圖寫一個查詢,可以返回當前日期(MM-DD)在各年發佈的電影。

我已經嘗試使用:

WHERE ReleaseDate LIKE '%-(DATEPART(mm,GETDATE())-(DATEPART(dd,GETDATE())' 

但它不會返回任何東西。

「WHERE ReleaseDate LIKE'%-06-03'」的作品,但我真的想自動化這一點。

回答

3

Arrg!請勿在日期中使用LIKE

如何只是在做這樣的事情:

where DATEPART(month, ReleaseDate) = DATEPART(month(GETDATE()) AND 
     DATEPART(day, ReleaseDate) = DATEPART(day, GETDATE()) 

或者更簡單地說:

where month(ReleaseDate) = month(getdate()) and 
     day(ReleaseDate) = day(getdate()) 
0

你是治療datapart等作爲一個字符串,將其置於引號內的文字。

你可以使用concat建立動態字符串:

WHERE ReleaseDate LIKE CONCAT('%-', 
           (DATEPART(mm,GETDATE()), 
           '-', 
           (DATEPART(dd,GETDATE()) 
          )