我有两个oracle查询
1)在sysdate + 7和sysdate
之间创建了create_dt2)sysdate和sysdate + 7之间的created_dt
这两个查询会给出相同的结果吗?
答案 0 :(得分:2)
第一个永远不会返回任何行。
你可以考虑之间的
where col between A and B
与
相同where col >= A and col <= B
所以你的第一个是不合逻辑的
created_dt >= sysdate+7 and created_dt <= sysdate
这两种情况永远不会成真。
答案 1 :(得分:1)
在SQL中,构造x BETWEEN a AND b
等同于a <= x AND x <= b
。
显然,如果a > b
,这个约束将产生空结果。
换句话说,交换间隔结束确实很重要:首先必须小于或等于第二个。