access数据库,表按时间查询,怎么写。高级语句

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:06:51
表timeout
user IDCHECKTIME
1 2008-01-03 6:25:26
2 2008-01-03 8:27:26
3 2008-01-03 9:30:26
4 2008-01-03 8:25:26
5 2008-01-04 8:25:30
6 2008-01-04 9:45:26
7 2008-01-04 7:25:26
8 2008-01-05 9:25:26
9 2008-01-05 8:25:26
10 2008-01-06 8:25:26
11 2008-01-06 7:25:26
12 2008-01-07 9:25:26

需求IDCHECKTIME字段显示8:00:00 到8:30:00的记录。
语句怎么写?
比如我要查询2008-01-03 8:00:00-8:30:00 到 2008-01-07 8:00:00-8:30:00的数据,怎么写?

显示8:00:00 到8:30:00的记录

SELECT a.*
FROM a
WHERE datepart('h', a.checktime) = 8
and datepart('s', a.checktime) between 0 and 30;

补充的问题:
增加条件:
AND (datevalue(a.checktime) = DateSerial(2008,1,3)
OR datevalue(a.checktime) = DateSerial(2008,1,7)
)

select Hours(IDCHECKTIME)&':'&Minute(IDCHECKTIME)&':'&Seconds(IDCHECKTIME) as IDCHECKTIME2,其他你想显示的列 from 表

where DateDiff('s',IDCHECKTIME,'2008-01-03 8:00:00')<0 and DateDiff('s',IDCHECKTIME,'2008-01-03 8:30:00')>0

看到上面 as IDCHECKTIME2 因为你后面要进行计算所以不能 as 成原来的名字