to_char()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法
1.to_char()函数分析
1)SQL中不区分大小写,MM和mm被认为是相同的格式代码
先看以下3个sql语句:
1
2
3
4
5
|
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; |
查询结果:
1
2
3
|
2017-02-22 13:02:42< br >< br >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小时制
1
2
3
|
select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss' ) from dual; select to_char(sysdate, 'yyyy-MM-dd hh:mi:ss' ) from dual; |
查询结果:
1
2
3
|
2017-02-22 13:14:42 2017-02-22 1:14:42 |
2.to_char()的其他用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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()函数
1
|
select to_date( '2017-02-22 13:14:20' , 'yyyy-MM-dd HH24:mi:ss' ) from dual; |