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;
|