Sql server 获取特定日期和月份之间的行,而不考虑年份

Sql server 获取特定日期和月份之间的行,而不考虑年份,sql-server,tsql,sql-server-2005,Sql Server,Tsql,Sql Server 2005,我有一个小的T-SQL问题,我正试图解决,但我似乎无法让它工作 如何在T-SQL中获取startDate介于8月16日和9月19日之间的所有行,而不考虑年份?SELECT* SELECT * FROM tbl WHERE (MONTH(dt) = 8 AND DAY(dt) >= 16) OR (MONTH(dt) = 9 AND DAY(dt) <= 19) 来自tbl 其中(月(dt)=8,天(dt)>=16)或(月(dt)=9,天(dt)对于Sql Server,我将使用以下

我有一个小的T-SQL问题,我正试图解决,但我似乎无法让它工作

如何在T-SQL中获取startDate介于8月16日和9月19日之间的所有行,而不考虑年份?

SELECT*
SELECT *
FROM tbl
WHERE (MONTH(dt) = 8 AND DAY(dt) >= 16) OR (MONTH(dt) = 9 AND DAY(dt) <= 19)
来自tbl
其中(月(dt)=8,天(dt)>=16)或(月(dt)=9,天(dt)对于Sql Server,我将使用以下查询

select * from (
select *,DATEFROMPARTS(2011,MONTH(CreateDate),DAY(CreateDate)) as dt from tblAction
) as x
where x.dt between
DATEFROMPARTS(2011,3,6) and
DATEFROMPARTS(2011,8,2)
看看是否有帮助……)