《Oracle计算时间差函数》由会员分享,可在线阅读,更多相关《Oracle计算时间差函数(7页珍藏版)》请在金锄头文库上搜索。
1、Oracle 计算时间差函数 两个 Date 类型字段START_DATEEND_DATE计算这两个日期的时间差(分别以天小时分钟秒毫秒) 天 ROUND(TO_NUMBER(END_DATE-START_DATE) 小时 ROUND(TO_NUMBER(END_DATE-START_DATE)*24) 分钟 ROUND(TO_NUMBER(END_DATE-START_DATE)*24*60) 秒 ROUND(TO_NUMBER(END_DATE-START_DATE)*24*60*60) 毫秒 ROUND(TO_NUMBER(END_DATE-START_DATE)*24*60*60*10
2、00) Oracle 计算时间差函数 2008-08-20 1000 两个 Date 类型字段START_DATEEND_DATE计算这两个日期的时间差(分别以天小时分钟秒毫秒)天ROUND(TO_NUMBER(END_DATE-START_DATE)小时ROUND(TO_NUMBER(END_DATE-START_DATE)*24)分钟ROUND(TO_NUMBER(END_DATE-START_DATE)*24*60)秒ROUND(TO_NUMBER(END_DATE-START_DATE)*24*60*60)毫秒ROUND(TO_NUMBER(END_DATE-START_DATE)*2
3、4*60*60*1000) 外加 to_date 与 to_char 函数 ORACLE 中 select to_date(2007-06-28 195120,yyyy-MM-dd HH24miss)from dual 一般 SQL 中 select to_date(2007-06-28 195120,yyyy-MM-dd HHmmss)from dual 区别 1、HH 修改为 HH24。 2、分钟的 mm 修改为 mi。 24 小时的形式显示出来要用 HH24 select to_char(sysdate,yyyy-MM-dd HH24miss)from dual select to_da
4、te(2005-01-01 131420,yyyy-MM-dd HH24miss)from dualto_date()function 1.日期格式参数含义说明 D 一周中的星期几 DAY 天的名字使用空格填充到 9 个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO 标准的年中的第几周 IYYY ISO 标准的四位年份 YYYY 四位年份 YYY,YY,Y 年份的最后三位两位一位 HH 小时按 12 小时计 HH24 小时按 24 小时计 MI 分 SS 秒 MM 月 Mon 月份的简写 Month 月份的全名 W 该月的第几个星期 WW 年中的第几个星期 1.
5、日期时间间隔操作 当前时间减去 7 分钟的时间 select sysdate,sysdate-interval7MINUTE from dual 当前时间减去 7 小时的时间 select sysdate-interval7hour from dual 当前时间减去 7 天的时间 select sysdate-interval7day from dual 当前时间减去 7 月的时间 select sysdate,sysdate-interval7month from dual 当前时间减去 7 年的时间 select sysdate,sysdate-interval7year from dua
6、l 时间间隔乘以一个数字 select sysdate,sysdate-8*interval2hour from dual 2.日期到字符操作 select sysdate,to_char(sysdate,yyyy-mm-dd hh24miss)from dual select sysdate,to_char(sysdate,yyyy-mm-dd hhmiss)from dual select sysdate,to_char(sysdate,yyyy-ddd hhmiss)from dual select sysdate,to_char(sysdate,yyyy-mm iw-d hhmiss)
7、from dual 参考 oracle 的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515) 3.字符到日期操作 sel ect to_date(2003-10-17 211537,yyyy-mm-dd hh24miss)from dual 具体用法和上面的 to_char 差不多。 4.TO_NUMBER 使用 TO_NUMBER 函数将字符转换为数字 TO_NUMBER(char,格式) 数字格式格式 9 代表一个数字 0 强制显示 0 $放置一个$符 L 放置一个浮动本地货币符 .显示小数点 ,显示千位指示符 ora
8、cle 中的 to_date 参数含义 1.日期格式参数含义说明 D 一周中的星期几 DAY 天的名字使用空格填充到 9 个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO 标准的年中的第几周 IYYY ISO 标准的四位年份 YYYY 四位年份 YYY,YY,Y 年份的最后三位两位一位 HH 小时按 12 小时计 HH24 小时按 24 小时计 MI 分 SS 秒 MM 月 Mon 月份的简写 Month 月份的全名 W 该月的第几个星期 WW 年中的第几个星期 1.日期时间间隔操作 当前时间减去 7 分钟的时间 select sysdate,sysdate-i
9、nterval7MINUTE from dual 当前时间减去 7 小时的时间 select sysdate-interval7hour from dual 当前时间减去 7 天的时间 select sysdate-interval7day from dual 当前时间减去 7 月的时间 select sysdate,sysdate-interval7month from dual 当前时间减去 7 年的时间 select sysdate,sysdate-interval7year from dual 时间间隔乘以一个数字 select sysdate,sysdate-8*interval2h
10、our from dual 2.日期到字符操作 select sysdate,to_char(sysdate,yyyy-mm-dd hh24miss)from dual select sysdate,to_char(sysdate,yyyy-mm-dd hhmiss)from dual select sysdate,to_char(sysdate,yyyy-ddd hhmiss)from dual select sysdate,to_cha r(sysdate,yyyy-mm iw-d hhmiss)from dual 参考 oracle 的相关关 文档(ORACLE901DOC/SERVER
11、.901/A90125/SQL_ELEMENTS4.HTM#48515) 3.字符到日期操作 select to_date(2003-10-17 211537,yyyy-mm-dd hh24miss)from dual 具体用法和上面的 to_char 差不多。 4.trunk/ROUND 函数的使用 select trunc(sysdate,YEAR)from dual select trunc(sysdate)from dual select to_char(trunc(sysdate,YYYY),YYYY)from dual 5.oracle有毫秒级的数据类型 -返回当前时间年月日小时分
12、秒毫秒 select to_char(current_timestamp(5),DD-MON-YYYY HH24MISSxFF)from dual -返回当前时间的秒毫秒可以指定秒后面的精度(最大=9) select to_char(current_timestamp(9),MISSxFF)from dual 6.计算程序运行的时间(ms) declare type rc is ref cursor l_rc rc l_dummy all_objects.object_name%type l_start number default dbms_utility.get_time begin for Iin 1.1000 loop open l_rc forselect object_name from all_objects|where object_id=|i fetch l_rc into l_dummy close l_rc end loop dbms_output.put_line(round(dbms_utility.get_time-l_start)/100,2)|seconds.)end