自因为成立的oracle between and 查询语句

最近改bug时,发现了这么个尴尬的bug,查询参数在日期起与日期止(包含临界值

当时很直接的就想到了between and 语句,数值的 between and的是包含临界值的,所以日期我就用上了。

后来环境的时间带时分秒,奇葩的时间就发生了!

还原场景如下:(表只为说明,所以约束什么都没加)

create table testbetween
(
 id number,
 cid varchar2(4),
 rqq date,
 rqz date
);

插入数据:

insert into testbetween (ID, CID, RQQ, RQZ)
values (1, '1', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-08-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (2, '2', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-08-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (3, '3', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-08-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (4, '4', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-07-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (5, '5', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-07-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (9, '9', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-07-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (10, '10', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-07-2012', 'dd-mm-yyyy'));

insert into testbetween (ID, CID, RQQ, RQZ)
values (11, '11', to_date('01-07-2012', 'dd-mm-yyyy'), to_date('01-07-2012', 'dd-mm-yyyy'));

 查询语句如下:

--有结果
select * from testbetween where id between 1 and 11;

--有结果

select * from testbetween where cid between 1 and 11;

--有结果

select * from testbetween where to_date('2012-8-1','yyyy-mm-dd') between rqq and rqz;

--有结果

select * from testbetween where to_date('2012-8-1 00:00:00','yyyy-mm-dd hh24:mi:ss') between rqq and rqz;

--无结果

select * from testbetween where to_date('2012-8-1 00:00:01','yyyy-mm-dd hh24:mi:ss') between rqq and rqz;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值