to_char()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法
1.to_char()函数分析
1)SQL中不区分大小写,MM和mm被认为是相同的格式代码
先看以下3个sql语句:
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual; select to_char(sysdate,'yyyy-mm-dd HH24:mm:ss') from dual; select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
查询结果:
2017-02-22 13:02:42 2017-02-22 13:02:42 2017-02-22 13:14:42
从上面2个sql语句可以看出,mm和MM的是一样的,都是月份,SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL要采用了mi代替分钟
2)显示格式有24小时制和12小时制
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_char(sysdate,'yyyy-MM-dd hh:mi:ss') from dual;
查询结果:
2017-02-22 13:14:42 2017-02-22 1:14:42
2.to_char()的其他用法
select to_char(sysdate,'yyyy') as nowYear from dual; --获取时间的年 2016 select to_char(sysdate,'mm') as nowMonth from dual; --获取时间的月 09 select to_char(sysdate,'dd') as nowDay from dual; --获取时间的日 07 select to_char(sysdate,'hh24') as nowHour from dual; --获取时间的时 10 select to_char(sysdate,'mi') as nowMinute from dual; --获取时间的分 33 select to_char(sysdate,'ss') as nowSecond from dual; --获取时间的秒 11 select to_char(sysdate,'day') as nowDay from dual; --获取当天是星期几 星期三 select to_char(sysdate,'D') as nowDay from dual; --获取当天是星期几 4 select floor(sysdate - to_date('2016-08-05','yyyy-mm-dd')) from dual; --取两个日期间的天数 33
3.to_date()函数
select to_date('2017-02-22 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;