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

2022-05-03 01:12:10 字數 1346 閱讀 9114

由於業務需要,這兩天在學習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中年份為2023年的所有資料,可以這樣做,  

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日期格式化

select 1 as fld tm cartons to char sysdate 1,month dd yyyy as fld order no,nvl ps.wmps grossweight,0 as grossweight nvl ps.wmps cubic,0 from 表 我要在sele...

Oracle 格式化日期

start 所謂格式化日期指的是將日期轉為字串,或將字串轉為日期,下面幾個函式可以用來格式化日期。to char datetime,format to date character,format to timestamp character,format to timestamp tz charac...

Oracle資料日期格式化

oracle資料庫to date 與24小時制表示法及mm分鐘的顯示 1 採用 yyyy mm dd hh mm ssora 01810 格式作為格式進行轉換的弊端 在使用oracle的to date函式來做日期轉換時,許多程式設計師會下意識的採用 yyyy mm dd hh mm ss 格式作為格...