Oracle日期格式化以及extract函數的使用


  由於業務需要,這兩天在學習Oracle,發現Oracle里面的日期它會給你轉成一種很不習慣的格式,於是想着怎么樣把它弄成年、月、日的格式來顯示,查資料、看文檔,最終找到解決辦法了,其實是用到了to_char方法。

  例如,在Oracle里面,一個表格里日期如2017-05-06,列名為time,查詢后發現返回的是06-5月 -17這種格式的,看着賊不爽,要想把它轉成年月日這種格式的,可以這樣做,

to_char(time, 'YYYY-MM-DD') as time  // 括號里的time表示表中的列名,第二個time則表示轉換后的日期列名仍然為time

  現在轉換后的日期就是這樣的,2017-05-06

 

  那么extract函數是干什么的呢?extract英語意思是提取、選取,顧名思義,它表示從一個date類型中截取某一特定的部分,例如,選取年或月或日。

  例如有這樣一個表格:

      

  現在我要從表格myTable中選取time中年份為2018年的所有數據,可以這樣做,  

select title,play,time from myTable where extract(year from time) = 2018;
或者:
select title,play,to_char(time, 'YYYY-MM-DD') as time from myTable where extract(year from time) = 2018

  結果顯然是都返回了(這里只是做個演示)

 

  現在我要從表格myTable中選取time中月份為5的所有數據,操作為:

select title,play,time from myTable extract(month from time) = 5;
或者:
select title,play,to_char(time, 'YYYY-MM-DD') as time from myTable where extract(month from time) = 5

  

  從表格myTable中選取time中日期為6的所有數據,操作為:

select title,play,time from myTable extract(day from time) = 6;
或者:
slect title,play,to_char(time, 'YYYY-MM-DD') as time from myTable where extract(day from time) = 6;

  

  語法如下:extract(year|month|day|hour|minute|second from column_name) = value


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM