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

时间:2013-08-07 08:53:52

标签: sql-server tsql sql-server-2005

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

如何在T-SQL中获取startDate在8月16日到9月19日之间的所有行,无论年份如何?

2 个答案:

答案 0 :(得分:1)

SELECT *
FROM tbl
WHERE (MONTH(dt) = 8 AND DAY(dt) >= 16) OR (MONTH(dt) = 9 AND DAY(dt) <= 19)

答案 1 :(得分:0)

对于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)

看看它是否有帮助.. :)