我有一个静态表,它使用日期部分的单独字段存储统计信息:
日
数月
数年数
当我需要特定日期时,这很有效。
我想知道如何处理这个,当我需要一个日期范围时,比如在这个日期到那个日期之间。
非常感谢!
我有一个静态表,它使用日期部分的单独字段存储统计信息:
日
数月
数年数
当我需要特定日期时,这很有效。
我想知道如何处理这个,当我需要一个日期范围时,比如在这个日期到那个日期之间。
非常感谢!
CAST(
CAST(yearNumber as char(4))
+ '-'
+ CAST(monthNumber as char(2))
+ '-'
+ CAST(dayNumber as char(2))
as smalldatetime)
BETWEEN @StartDate and @EndDate
加强zfus评论以查看Charles Bretana 的答案,您可以使用DATEADD
在WHERE
子句中构建日期进行比较:
...
WHERE DATEADD(yy, yearnumber - 1900,
DATEADD(m, monthnumber - 1, daynumber - 1))
BETWEEN @StartDate AND @EndDate;