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