Oracle 日期相关 博客分类: DB-Oracle
程序员文章站
2024-03-16 12:15:58
...
--查询某一天内的数据 select t.ID,t.LAST_TIME from T_ORDER t WHERE --AND t.LAST_TIME >= to_date('2017-07-31 00:00:00','yyyy-mm-dd hh24:mi:ss') t.LAST_TIME >= to_date('2017-07-31','yyyy-mm-dd') -- 2017-07-31 00:00:00 --AND t.LAST_TIME <= to_date('2017-07-31 23:59:59','yyyy-mm-dd hh24:mi:ss') AND t.LAST_TIME < (to_date('2017-07-31','yyyy-mm-dd') + 1) -- 2017-08-01 00:00:00 ; --查询某一月内的数据 select t.ID,t.LAST_TIME from T_ORDER t WHERE --AND two.LIMIT_LAST_TIME >= to_date('2017-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss') t.LAST_TIME >= to_date('2017-07','yyyy-mm') -- 2017-07-01 00:00:00 --AND two.LIMIT_LAST_TIME <= to_date('2017-07-31 23:59:59','yyyy-mm-dd hh24:mi:ss') AND t.LAST_TIME < add_months(to_date('2017-07','yyyy-mm'), 1) -- 2017-08-01 00:00:00 ; --查询某一年内的数据 select t.ID,t.LAST_TIME from T_ORDER t WHERE --AND two.LIMIT_LAST_TIME >= to_date('2017-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') t.LAST_TIME >= to_date('2017-01','yyyy-mm') -- 2017-01-01 00:00:00 --AND two.LIMIT_LAST_TIME <= to_date('2017-12-31 23:59:59','yyyy-mm-dd hh24:mi:ss') AND t.LAST_TIME < to_date('2018-01','yyyy-mm') -- 2018-01-01 00:00:00 ;
值得注意地:
--只转换年份,会得到当月1日的日期 select to_date('2017','yyyy') AS test from dual;--2017-07-01 00:00:00
日期之间的差:
--两个日期相减为相差的天数:1 select (To_date('2017-07-05 09:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2017-07-04 09:00:00' , 'yyyy-mm-dd hh24-mi-ss')) AS test FROM DUAL; --两个日期相减为相差的天数:-0.5 select (To_date('2017-07-03 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2017-07-03 12:00:00' , 'yyyy-mm-dd hh24-mi-ss')) AS test FROM DUAL; --两个日期相差的小时:0.02 select (To_date('2017-07-04 09:01:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2017-07-04 09:00:00' , 'yyyy-mm-dd hh24-mi-ss')) * 24 AS test FROM DUAL; --两个日期相差的小时:1。ceil(n):取大于等于n的最小整数 select ceil((To_date('2017-07-04 09:01:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2017-07-04 09:00:00' , 'yyyy-mm-dd hh24-mi-ss')) * 24) AS test FROM DUAL; --两个日期相差的小时:0。floor(n):取小于等于n的最大整数 select floor((To_date('2017-07-04 09:01:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2017-07-04 09:00:00' , 'yyyy-mm-dd hh24-mi-ss')) * 24) AS test FROM DUAL; --两个日期相差的分钟:61.00 select (To_date('2017-07-04 10:01:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2017-07-04 09:00:00' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 AS test FROM DUAL;
值得注意地:两个日期不能直接相加。日期加数字,数字为天数。
interval:(时间)间隔
--interval:(时间)间隔 select sysdate,',',interval '10' SECOND ,',', interval '10' MINUTE ,',', interval '10' HOUR ,',', interval '10' DAY ,',', interval '10' MONTH ,',', interval '10' YEAR from dual; --2017-08-02 18:22:25, 0 0:0:10.0, 0 0:10:0.0, 0 10:0:0.0, 10 0:0:0.0, 0-10, 10-0 --当前时间减10分钟的时间 select sysdate,sysdate - interval '10' minute from dual; --2017-08-02 18:08:03 2017-08-02 17:58:03 --当前时间加10分钟的时间 select sysdate,sysdate + interval '10' minute from dual; --2017-08-02 18:08:37 2017-08-02 18:18:37
上一篇: ArrayUtil 博客分类: Util ArrayUtil
下一篇: Map 对象与 JavaBean 对象互转工具类 博客分类: Java BeanToMapUtilMap 对象与 JavaBean 对象互转工具类
推荐阅读
-
oracle 查询示例-统计 博客分类: DB-Oracle
-
计算两个日期之间相差的月数 博客分类: Java java计算两个日期之间相差的月数
-
Oracle 日期相关 博客分类: DB-Oracle
-
Oracle的连接详解(左连接、右连接、全连接...) 博客分类: DB-Oracle
-
oracle-函数-trunc-round-日期函数 博客分类: DB-Oracle oracletruncround日期四舍五入
-
导入不同表空间的数据 博客分类: oracle
-
Oracle几个常用的伪列(Pseudo-column)使用 博客分类: DB-Oracle oracle伪列
-
Oracle拆分split字符串,instr函数的使用 博客分类: DB-Oracle oracleinstrwm_concatsplit拆分
-
虚拟机上安装oracle 博客分类: oracle oraclevmware虚拟机oracle vm
-
日期控件jeDate开始日期结束日期联动 博客分类: Web-JS/JQuery 日期控件jeDate日期联动