king

oracle怎样查询指定时间范围

king Oracle 2022-06-29 1018浏览 0

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 的文章
发表评论