oracle時間函式,new_day()
阿新 • • 發佈:2019-01-22
閒話不說,直接進入主題。
一,首先我的實驗都是在虛表中進行的。當然,也有人叫做偽表,就是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;
但,很遺憾,我的報錯了。
特別注意的是:這個表示只是下一個星期幾的日期,就是說,如果現在是星期四,那麼,你查詢週日到週四都是下一個禮拜的,以為這個時間已經度過了,但是週五到到週六沒有過,所以顯示本週的
例子不上插圖,有興趣的自己執行就可以,不得不吐槽,這個部落格截圖插圖真麻煩。