1. 程式人生 > >Oracle日期格式化以及extract函數的使用

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

time select info 語法 英語 har image 日期格式 style

  由於業務需要,這兩天在學習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

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