如何将 GETDATE 的 DATEPART 用作查询的变量
How to use DATEPART of the GETDATE as a variable for a query
这可能比我做起来容易,我是 SQL 的新手。
我有一个数据库,其中包含很多格式为 YYYY-MM-DD 的电影发行日期。
我正在尝试编写一个查询,该查询将return 部在不同年份的当前日期 (MM-DD) 上映的电影。
我试过使用:
WHERE ReleaseDate LIKE '%-(DATEPART(mm,GETDATE())-(DATEPART(dd,GETDATE())'
但它 return 什么都没有。
"WHERE ReleaseDate LIKE '%-06-03'" 有效,但我真的很想将其自动化。
啊!不要将 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())
您通过将 datapart
等放在引号内来将其视为字符串文字。
您可以使用 concat
动态构建此字符串:
WHERE ReleaseDate LIKE CONCAT('%-',
(DATEPART(mm,GETDATE()),
'-',
(DATEPART(dd,GETDATE())
)
这可能比我做起来容易,我是 SQL 的新手。
我有一个数据库,其中包含很多格式为 YYYY-MM-DD 的电影发行日期。
我正在尝试编写一个查询,该查询将return 部在不同年份的当前日期 (MM-DD) 上映的电影。
我试过使用:
WHERE ReleaseDate LIKE '%-(DATEPART(mm,GETDATE())-(DATEPART(dd,GETDATE())'
但它 return 什么都没有。
"WHERE ReleaseDate LIKE '%-06-03'" 有效,但我真的很想将其自动化。
啊!不要将 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())
您通过将 datapart
等放在引号内来将其视为字符串文字。
您可以使用 concat
动态构建此字符串:
WHERE ReleaseDate LIKE CONCAT('%-',
(DATEPART(mm,GETDATE()),
'-',
(DATEPART(dd,GETDATE())
)