各位大侠好!
我有一个access数据表,包含Date字段(yyyy-mm-dd)和Time字段(hh:mm:ss),每一分钟一条记录。
我想要通过Date字段和Time字段查询“昨天23:01:00至今天的00:00:00时间段”的数据集,请问如何写查询语句。
里面AND和OR的关系太乱了,理不清楚,恳请帮助!
我有一个access数据表,包含Date字段(yyyy-mm-dd)和Time字段(hh:mm:ss),每一分钟一条记录。
我想要通过Date字段和Time字段查询“昨天23:01:00至今天的00:00:00时间段”的数据集,请问如何写查询语句。
里面AND和OR的关系太乱了,理不清楚,恳请帮助!
from mytable
where date & ' ' & time between '2009-01-01 23:01:00' and '2009-01-02 00:00:00'
但是我还想进一步知道:在我当前的日期用Date函数表示,当前的时次用tempHour变量(integer类型)表示的情况下,上一个时次01分开始到这一个时次00分结束的数据集怎么选取?
特别是在跨日的时候,即Date-1日23:01:00至Date日00:00:00的数据集怎么选呢?
这两种情形可不可以不用分情形写代码?
谢谢大家再次帮助!
如00:00:00时,tempHour则为0,01:00:00时,tempHour则为1
tempHourFr
tempHourTo
select * from mytable where datediff('s',date1,date2)>10 '按秒比较两个时间
select * from mytable where datediff('n',date1,date2)>10 '按分比较
select * from mytable where datediff('h',date1,date2)>10 '按小时
select * from mytable where datediff('d',date1,date2)>10 '按天
select * from mytable where datediff('m',date1,date2)>10 '按月
select * from mytable where datediff('y',date1,date2)>10 '按年
上面的10是date2与date1差值,根据这个你自己去构造你想要的好了
SELECT SUM(Value)
FROM table1
WHERE date = '2009-03-12'
AND time >= '23:00:00'
AND time <= '23:59:59'
select sum(fld1),sum(fld2),sum(fld3) from table1 where fld0 = '限制条件' group by '求和的分组条件'
2009-3-12 23:01:00 0.141845 14.43681 83.095206 0 313.29018
2009-3-12 23:02:00 0.141967 14.427035 83.04823 0 270.70803
2009-3-12 23:03:00 0.143798 14.430277 83.051309 0 280.0735
2009-3-12 23:04:00 0.145629 14.450902 83.148429 0 264.34034
……
……
……
2009-3-13 0:00:00 0.151733 14.732611 81.624794 0 295.93085上面的数据就是我数据库AWS_Minute中的部分我希望选取的数据
大家的方法我一些看不懂,一些不可用,我现在打算分两种情形打开该数据库:
情形一:跨日期,即Date-1日23:01:00至Date日00:00:00
select * from AWS_Minute where Date & ' ' &Time between '#" & Date-1 & "# 23:01:00' and '#" & Date & "# 00:00:00'
情形二:不跨日期
select * from AWS_Minute where Date & ' ' &Time between '#" & Date & "# & cstr(tempHour-1) & ":01:00" and '#" & Date & "# & cstr(tempHour) & ":00:00"
这语句肯定有很多语法错误,希望大家指正!
给大家带来很多麻烦!真是不好意思!
希望大家对新手菜鸟如我者多多谅解!谢谢大家!
tempHour = 查询开始时间的小时
sql = "SELECT SUM(Value)" & _
" FROM table1" & _
" WHERE date = #" & Format$(dt, "yyyy-mm-dd") & "#" & _
" AND time >= #" & Format$(tempHour, "00") & ":00:00#" & _
" AND time <= #" & Format$(tempHour, "00") & ":59:59#"