日期交集问题..请进来看一下..谢谢!
a_start,b_end,b_start,d_end 日期格式都为:XXXX-XX-XX XX:XX:XX
如何判断a_start到b_end 这一时间段 与 c_start到d_end 这一时间段是否存在交集
比如:a_start和b_end为两个都为日期型变量 ,b_start,d_end为ACCESS数据库表中两个日期型字段.
如何查询a_start到b_end 这一时间段 与 c_start到d_end 这一时间段存在交集的记录呢?
sql语句怎么写???
问题点数:100、回复次数:8Top
1 楼cpio(备注)回复于 2006-06-01 14:59:49 得分 0
(b_end > c_start and a_start<d_end) or (a_start<d_end and b_end>c_start)Top
2 楼coder1(穿上防砖马甲和党员干部打成一片)回复于 2006-06-01 15:02:19 得分 0
帮顶Top
3 楼icefire988(冰火)回复于 2006-06-01 15:04:52 得分 0
这样
select * from table where a_start between c_start and d_end or b_end between c_start and d_endTop
4 楼diyager(明白了就要结贴啊兄弟,做人要厚道(QQ5745027))回复于 2006-06-01 15:07:01 得分 0
select * from table where time between ('A' and 'B') and time between ('C' and 'D')Top
5 楼xudongdong1981(东东)回复于 2006-06-01 15:36:03 得分 0
顶一下..谢谢Top
6 楼xudongdong1981(东东)回复于 2006-06-01 15:44:39 得分 0
sql="select * from table where '"&a_start&"' between c_start and d_end or '"&b_end&"' between c_start and d_end"
这么写怎么不提示数据类型不配,,正确应该怎么写呀?Top
7 楼xudongdong1981(东东)回复于 2006-06-01 16:23:33 得分 0
a_start和b_end为两个都为日期型变量 ,b_start,d_end为ACCESS数据库表中两个日期型字段.
如何查询a_start到b_end 这一时间段 与 c_start到d_end 这一时间段存在交集的记录呢?
sql="select * from table where '"&a_start&"' between c_start and d_end or '"&b_end&"' between c_start and d_end"
这样写提示:标准表达式中数据类型不匹配
正确应该怎么写啊??Top
8 楼icefire988(冰火)回复于 2006-06-02 09:30:52 得分 0
access的应该是这样
sql="select * from table where c_start between #"a_start"# and #"b_end"# or d_end between #"a_start"# and #"b_end"# "Top




