首页 >数据库 >Oracle >oracle怎样查询指定时间范围

oracle怎样查询指定时间范围

WBOY
WBOY原创
2022-01-21 11:58:0544463浏览

在oracle中,可用“between and”查询指定时间范围的数据,语法为“select*from 表名 where 字段 between to_date(起始时间,起始时间格式) and to_date(终止时间,终止时间格式)”。

oracle怎样查询指定时间范围

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎样查询指定时间范围

在oracle中,想要查询指定的时间范围,可以利用between and和to_date()函数。

to_date()与24小时制表示法及mm分钟的显示:

一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;

原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

二、另要以24小时的形式显示出来要用HH24

select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟

select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份  oracle中的to_date参数含义

between and本身是全闭区间,包含端点的值。

注意:使用to_date进行时间筛选的时候,比如2015-02-28是从当天的00:00:00开始计算的。因此如果范围是2015-02-28 到2015-03-01,时间范围实际上是左闭右开的。不包含2015-03-01这一天的数据。

示例如下:

select * from tab where dtcol between to_date('2012-05-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2012-05-31 00:00:00','yyyy-mm-dd hh24:mi:ss')

推荐教程:《Oracle教程

以上是oracle怎样查询指定时间范围的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn