Oracle to_char()和to_date()函数的用法

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;

 

posted on 2017-02-22 11:33  天涯明月夜  阅读(948)  评论(0编辑  收藏  举报