Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

Access SQL 如何实现跨日查询

MiaoF  发表于:2008-08-03 11:26:14  
复制

现有数据表,由多日股票分钟K线数据组成。日期为一列,格式:yyyy-mm-dd。时间为一列,格式:hh:mm:ss
现在希望实现跨日查询。(约定股票交易时间为9:00到15:00)
例如查询8月1日14:50:00至8月2日09:10:00分,合计20分钟的数据。

错误的Access sql 查询1:
select *
from Datatable
where 日期 between #2008-08-01# and #2008-08-02# and 时间 between #14:50:00# and #09:10:00#
此查询分别计算了1号,2号两天,从9:10到14:50的所有数据,故错误。

错误的Access sql 查询2:
select *
from Datatable
where 日期>=#2008-08-01# and 时间>=#14:50:00# or 日期<=#2008-08-02# and 时间<=#09:10:00#
结果依然不对。

我也曾将时间合并成一列,格式为:yyyy-mm-dd hh:mm:ss,但不知如何编写语句。
请各位前辈惠施点拨,小弟定当感激不尽。

 

Top
蒋元根 发表于:2008-08-03 15:16:23

为你做了个样例数据库,不知道是否符合你的要求.

点击下载此附件

MiaoF 发表于:2008-08-04 14:11:43
十分感谢hotgh2003,专门做了案例讲解:)
您的方法完全可行;只恨自己学业不精,本来很小的问题,一直用其他办法搪塞,直到昨天拖不下去啦。
另外,我也找到一种办法,如下:

SELECT *
FROM Database
WHERE ([日期] & " " & [时间]) Between #7/18/2008 09:50:00# And #7/18/2008 09:01:00#);

总记录:2篇  页次:1/1 9 1 :