1. 程式人生 > >oracle時間函式,new_day()

oracle時間函式,new_day()

閒話不說,直接進入主題。
一,首先我的實驗都是在虛表中進行的。當然,也有人叫做偽表,就是dual。
dual簡單說下。dual說他是虛表,其實其中沒有存什麼資料;再則,我們查詢的格式都是select * from table,所以查詢一些特殊的東西也需要表來保證格式的完整,所以有:

    //查詢系統時間
     select sysdate from dual;
     //自動生成序列,該序列全球唯一,所以,字元長度長,記憶體佔用大
     select sys_guid() from dual;

二,時間函式
1.new_day(datetime,String str) 這個字面是明天,但其實表示下一個星期幾的,所以,看例子:

select new_day(sysdate,'monday') from dual;
select new_day(sysdate,'2') from dual;

就是說要從當前時間查詢到寫一個星期幾的時間,第一句,按照英文,實際是星期幾就是星期幾,第二個數字,採用的是西方的方式,1代表週日,2代表週一,一次類推,7代表週六,別的數字錯誤。有的這樣也是正確的:

select new_day(sysdate,'星期一') from dual;

但,很遺憾,我的報錯了。
特別注意的是:這個表示只是下一個星期幾的日期,就是說,如果現在是星期四,那麼,你查詢週日到週四都是下一個禮拜的,以為這個時間已經度過了,但是週五到到週六沒有過,所以顯示本週的

例子不上插圖,有興趣的自己執行就可以,不得不吐槽,這個部落格截圖插圖真麻煩。