如何使用GETDATE的DATEPART作为查询的变量

时间:2015-06-03 15:52:27

标签: sql sql-server date getdate datepart

这可能比我制作它更容易,我对SQL很陌生。

我有一个包含大量电影发行日期的数据库,格式为YYYY-MM-DD。

我试图编写一个查询,以便在不同年份返回当前日期(MM-DD)发布的电影。

我尝试过使用:

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

但它没有任何回报。

"发布日期如何'% - 06-03'"虽然有效,但我真的很想实现自动化。

2 个答案:

答案 0 :(得分:3)

Arrg!不要将SELECT [ID], name, STUFF(( SELECT ', ' + [Name] FROM #IssuesCategories cats JOIN #IssuesCatList list on list.CID = cats.ID WHERE (list.QID = #Issues.ID) FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)') ,1,2,'') AS NameValues ,[date] ,SubmittedBy FROM #Issues 与日期一起使用。

如何做这样的事情:

LIKE

或者更简单:

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

答案 1 :(得分:0)

您将datapart等视为字符串文字,将其放在引号内。

您可以使用concat动态构建此字符串:

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