失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > oracle查询大于某个日期的数据 查看某天(或某个时间区间)的数据 请别用between ... and ......

oracle查询大于某个日期的数据 查看某天(或某个时间区间)的数据 请别用between ... and ......

时间:2022-03-09 06:58:43

相关推荐

oracle查询大于某个日期的数据 查看某天(或某个时间区间)的数据 请别用between ... and ......

-- 最近经常看到有人在某段时间区间上喜欢用between ... and ... ,其实,可以直接地说:这种用法是错误的!

-- 查看某一天的数据,或某一段时间内的数据,其实是一个左闭、右开的区间内的数据;

-- 例如:我要查一张表 3月11日到3月24日内所生成的数据,其区间应该为[-03-11 00:00:00, -03-25 00:00:00)

-- 即:不包括右边-03-25 00:00:00时间点的值!

-- 所以,请看如下:

create table t(cdate date);

insert into t(cdate) values(to_date('-03-23 00:00:00','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-23 11:09:25','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-24 00:00:00','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-24 02:03:45','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-24 10:37:03','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-24 20:55:17','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-24 23:59:59','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-25 00:00:00','yyyy-mm-dd hh24:mi:ss'));

insert into t(cdate) values(to_date('-03-25 01:44:22','yyyy-mm-dd hh24:mi:ss'));

-- 查看24日生成的数据

-- 方法一:用 ... and ...

eygle@SZTYORA> select count(*) from t

2where cdate>=to_date('-03-24','yyyy-mm-dd')

3 and cdate

COUNT(*)

----------

5

-- 方法二:用between ... and ...

eygle@SZTYORA> select count(*) from t

2where cdate between to_date('-03-24','yyyy-mm-dd')

3 and to_date('-03-25','yyyy-mm-dd');

COUNT(*)

----------

6

eygle@SZTYORA> select * from t

2where cdate between to_date('-03-24','yyyy-mm-dd')

3 and to_date('-03-25','yyyy-mm-dd')

4order by cdate;

CDATE

-------------------

-03-24 00:00:00

-03-24 02:03:45

-03-24 10:37:03

-03-24 20:55:17

-03-24 23:59:59

-03-25 00:00:00

已选择6行。

-- 可见方法二用between ... and ... 是错误的,它将-03-25 00:00:00 这一时刻的记录也包括在内啦!

如果觉得《oracle查询大于某个日期的数据 查看某天(或某个时间区间)的数据 请别用between ... and ......》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。