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;
原文地址:https://www.cnblogs.com/lgx5/p/11251432.html