Oracle中時(shí)間日期轉(zhuǎn)化函數(shù)to_date和to_char的具體使用
在實(shí)際的工作中會(huì)經(jīng)常會(huì)用到to_char()、to_date()函數(shù)來對(duì)時(shí)間、日期進(jìn)行處理。
1、to_char()函數(shù)的用法
1.1、將時(shí)間日期按照指定的格式輸出,得到的是字符串,而非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;
運(yùn)行的輸出結(jié)果為:
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()可以得到日期中的年、月、日、時(shí)、分
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;
運(yùn)行的輸出結(jié)果為:
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()得到的是字符串,要查詢具體單日、時(shí)、分要特別注意。
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' ;
運(yùn)行輸出結(jié)果為:
2017/6/8 21:06:59 06
null
使用實(shí)例
1》以12小時(shí)制顯示
SQL>select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS AM')from dual; TO_CHAR(SYSDATE,'YYYY-MM-DDHH1 2007-06-29 02:50:06 下午
2》以24小時(shí)制顯示
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS AM')from dual; TO_CHAR(SYSDATE,'YYYY-MM-DDHH2 2007-06-29 15:00:58 下午
3》得到當(dāng)前時(shí)間的前一分鐘
select to_char(Sysdate-1/21/60,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE-1/21/60,'HH24: 15:00:54
4》得到當(dāng)前時(shí)間的后一分鐘
select to_char(Sysdate+1/21/60,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE+1/21/60,'HH24: 15:03:53
5》得到當(dāng)前時(shí)間的前一小時(shí)
select to_char(Sysdate-1/24,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE-1/24,'HH24:MI: 14:03:13
6》得到當(dāng)前時(shí)間的后一小時(shí)
select to_char(Sysdate+1/24,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE+1/24,'HH24:MI: 16:03:32
7》得到當(dāng)前時(shí)間的后一天
select to_char(Sysdate+1,'YYYY-MM-DD')from dual; TO_CHAR(SYSDATE+1,'YYYY-MM-DD'
查詢當(dāng)前時(shí)間的前六個(gè)月
select add_months(sysdate,-6) from dual
2、to_date()函數(shù)的用法
2.1、將字符串轉(zhuǎn)換為具體指定的時(shí)間日期格式
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;
運(yùn)行輸出結(jié)果為:
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()得到的日期格式是和系統(tǒng)的日期格式保持一致;
得到的時(shí)間為當(dāng)天的 00 :00:00。
2.2、可以直接使用date'yyyy-mm-dd'
select date'2017-5-1',to_date('20170615','yyyymmdd')from dual;
運(yùn)行輸出結(jié)果為:
2017/5/1 2017/6/15
注:date'2017/5/1' 會(huì)提示格式不對(duì)。
到此這篇關(guān)于Oracle中時(shí)間日期轉(zhuǎn)化函數(shù)to_date和to_char的具體使用的文章就介紹到這了,更多相關(guān)Oracle to_date to_char內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談入門級(jí)oracle數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入導(dǎo)出步驟
這篇文章主要介紹了淺談入門級(jí)oracle數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入導(dǎo)出步驟,文章通過步驟解析介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08詳解Oracle數(shù)據(jù)庫(kù)各類控制語句的使用
本文我們主要介紹了Oracle數(shù)據(jù)庫(kù)中各種控制語句的使用,包括邏輯控制語句、Case when的使用、While的使用以及For的使用等,希望本次的介紹能夠?qū)δ兴斋@!2015-09-09在Mac OS上安裝Oracle數(shù)據(jù)庫(kù)的基本方法
這篇文章主要介紹了在Mac OS上安裝Oracle數(shù)據(jù)庫(kù)的基本方法,Oracle是甲骨文公司的一款收費(fèi)數(shù)據(jù)庫(kù)軟件,需要的朋友可以參考下2015-12-12Oracle實(shí)例啟動(dòng)時(shí)報(bào)錯(cuò):ORA-32004的解決方法
最近在啟動(dòng)實(shí)例時(shí)遇到了一些錯(cuò)誤,通過查找的相關(guān)的資料終于解決,決定分享出來給有需要的朋友們,所以下面這篇文章主要給大家介紹了在Oracle實(shí)例啟動(dòng)時(shí)報(bào)錯(cuò):ORA-32004的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10