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

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;

猜你喜欢

转载自www.cnblogs.com/lgx5/p/11251432.html