我需要获取最近7天的数据,不包括星期日是我的日期字段数字。我该怎么做?字段结构20140425.例如,我今天运行它应该给我日期范围20140424 - 20140417,不包括20140420.
答案 0 :(得分:1)
故障当然是将基于数字的日期转换为实际日期。这似乎有效:
select convert(datetime, convert(char(10), 20140425))
要展开,您的查询将如下所示:
select *
from [Table]
where convert(datetime, convert(char(10), [columnname])) between convert(varchar, getdate() - 8, 101) and convert(varchar, getdate() - 1, 101)
and datepart(DW, convert(datetime, convert(char(10), [columnname]))) <> 1
转换(varchar,getdate - 1,101)将在昨天早上12:00返回。我的第一次传球并没有包含这一点,而且只有6天的范围。
答案 1 :(得分:0)
SELECT *
FROM Table_Name
WHERE CAST(DateField AS DATE) >= DATEADD(DAY, -7, GETDATE())
AND CAST(DateField AS DATE) <= GETDATE()
AND DATEPART(DW,CAST(DateField AS DATE)) <> 1