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