您的位置:首頁技術文章
文章詳情頁

Oracle中時間日期轉化函數to_date和to_char的具體使用

瀏覽:124日期:2023-09-22 20:54:42
目錄1、to_char()函數的用法1.1、將時間日期按照指定的格式輸出,得到的是字符串,而非date類型。 1.2、用to_char()可以得到日期中的年、月、日、時、分使用實例2、to_date()函數的用法2.1、將字符串轉換為具體指定的時間日期格式2.2、可以直接使用date'yyyy-mm-dd'

在實際的工作中會經常會用到to_char()、to_date()函數來對時間、日期進行處理。

1、to_char()函數的用法1.1、將時間日期按照指定的格式輸出,得到的是字符串,而非date類型。 select sysdate,to_char(sysdate,'yyyy-mm-dd')from dual; select sysdate,to_char(sysdate,'yyyy/mm/dd')from dual; select sysdate,to_char(sysdate,'yyyymmdd')from dual; select sysdate,to_char(sysdate,'yyyymmdd hh24:mi:ss')from dual;

運行的輸出結果為:

2017/6/15 17:07:24 2017-06-15 2017/6/15 17:07:25 2017/06/15 2017/6/15 17:07:25 20170615 2017/6/15 17:07:25 20170615 17:07:25

1.2、用to_char()可以得到日期中的年、月、日、時、分 select sysdate,to_char(sysdate,'yyyy')from dual; select sysdate,to_char(sysdate,'mm')from dual; select sysdate,to_char(sysdate,'hh24')from dual; select sysdate,to_char(sysdate,'mi')from dual;

運行的輸出結果為:

2017/6/15 17:09:14 2017 2017/6/15 17:09:14 06 2017/6/15 17:09:14 17 2017/6/15 17:09:14 09

注:to_char()得到的是字符串,要查詢具體單日、時、分要特別注意。

select accept_time,to_char(accept_time,'mi') from TMP_WW_0615_GYTS_S2 where to_char(accept_time,'mi')='06' ;select accept_time,to_char(accept_time,'mi') from TMP_WW_0615_GYTS_S2 where to_char(accept_time,'mi')='6' ;

運行輸出結果為:

2017/6/8 21:06:59 06 null

使用實例

1》以12小時制顯示

SQL>select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS AM')from dual;TO_CHAR(SYSDATE,'YYYY-MM-DDHH12007-06-29 02:50:06 下午

2》以24小時制顯示

SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS AM')from dual;TO_CHAR(SYSDATE,'YYYY-MM-DDHH22007-06-29 15:00:58 下午

3》得到當前時間的前一分鐘

select to_char(Sysdate-1/21/60,'HH24:MI:SS')from dual;TO_CHAR(SYSDATE-1/21/60,'HH24:15:00:54

4》得到當前時間的后一分鐘

select to_char(Sysdate+1/21/60,'HH24:MI:SS')from dual;TO_CHAR(SYSDATE+1/21/60,'HH24:15:03:53

5》得到當前時間的前一小時

select to_char(Sysdate-1/24,'HH24:MI:SS')from dual;TO_CHAR(SYSDATE-1/24,'HH24:MI:14:03:13

6》得到當前時間的后一小時

select to_char(Sysdate+1/24,'HH24:MI:SS')from dual;TO_CHAR(SYSDATE+1/24,'HH24:MI:16:03:32

7》得到當前時間的后一天

select to_char(Sysdate+1,'YYYY-MM-DD')from dual;TO_CHAR(SYSDATE+1,'YYYY-MM-DD'

查詢當前時間的前六個月

select add_months(sysdate,-6) from dual2、to_date()函數的用法2.1、將字符串轉換為具體指定的時間日期格式 select sysdate,to_date('20170615','yyyymmdd')from dual; select sysdate,to_date('20170615','yyyy-mm-dd')from dual; select sysdate,to_date('20170615','yyyy/mm/dd')from dual; select sysdate,to_date('20170615','yyyy-mm-dd hh24:mi:ss')from dual;

運行輸出結果為:

2017/6/15 17:20:27 2017/6/15 2017/6/15 17:20:27 2017/6/15 2017/6/15 17:20:27 2017/6/15 2017/6/15 17:20:27 2017/6/15

注:to_date()得到的日期格式是和系統的日期格式保持一致;

得到的時間為當天的 00 :00:00。

2.2、可以直接使用date'yyyy-mm-dd'select date'2017-5-1',to_date('20170615','yyyymmdd')from dual;

運行輸出結果為:

2017/5/1 2017/6/15

注:date'2017/5/1' 會提示格式不對。

到此這篇關于Oracle中時間日期轉化函數to_date和to_char的具體使用的文章就介紹到這了,更多相關Oracle to_date to_char內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Oracle 數據庫
国产综合久久一区二区三区