这可能比我制作它更容易,我对SQL很陌生。
我有一个包含大量电影发行日期的数据库,格式为YYYY-MM-DD。
我试图编写一个查询,以便在不同年份返回当前日期(MM-DD)发布的电影。
我尝试过使用:
WHERE ReleaseDate LIKE '%-(DATEPART(mm,GETDATE())-(DATEPART(dd,GETDATE())'
但它没有任何回报。
"发布日期如何'% - 06-03'"虽然有效,但我真的很想实现自动化。
答案 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())
)