意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

oracle怎样查询指定时间范围

来源:恒创科技 编辑:恒创科技编辑部
2023-12-05 20:18:59

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

本教程操作环境: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怎样查询指定时间范围的详细内容,更多请关注恒创科技其它相关文章!

上一篇: mysql直接拷贝data目录下数据库源文件还原数据库方法 下一篇: Oracle怎样查询重复字段