Oracle的to_date()函数
在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法
to_date()与24小时制表示法及mm分钟的显示:
一.在使用Oracle的to_date函数来做日期转换
很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,
但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。
1 | to_date( '2005-01-01 13:14:20' , 'yyyy-MM-dd HH24:mm:ss' ) //错误写法 |
原因是Oracle的SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
1 2 3 4 | to_date( '2005-01-01 13:14:20' , 'yyyy-MM-dd HH24:mi:ss' )//正确写法 //因为oracle的sql中不区分大小写,所以下面的写法和上面的效果是一样的,也是正确的. to_date( '2005-01-01 13:14:20' , 'yyyy-mm-dd HH24:mi:ss' )//正确写法 to_date( '2005-01-01 13:14:20' , 'YYYY-MM-dd HH24:mi:ss' )//正确写法 |
二.日期格式参数 含义说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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 - interval '7' MINUTE from dual //当前时间减去7小时的时间 select sysdate - interval '7' hour from dual //当前时间减去7天的时间 select sysdate - interval '7' day from dual //当前时间减去7月的时间 select sysdate,sysdate - interval '7' month from dual //当前时间减去7年的时间 select sysdate,sysdate - interval '7' year from dual //时间间隔乘以一个数字 select sysdate,sysdate - 8 *interval '2' hour from dual |
日期到字符操作
1 2 3 4 | select sysdate,to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss' ) from dual select sysdate,to_char(sysdate, 'yyyy-mm-dd hh:mi:ss' ) from dual select sysdate,to_char(sysdate, 'yyyy-ddd hh:mi:ss' ) from dual select sysdate,to_char(sysdate, 'yyyy-mm iw-d hh:mi:ss' ) from dual |
字符到日期操作
1 | select to_date( '2003-10-17 21:15:37' , 'yyyy-mm-dd hh24:mi:ss' ) from dual |
oracle有毫秒级的数据类型
- –返回当前时间 年月日小时分秒毫秒
1 | select to_char( current_timestamp (5), 'DD-MON-YYYY HH24:MI:SSxFF' ) from dual; |
- –返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)
1 | select to_char( current_timestamp (9), 'MI:SSxFF' ) from dual; |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。