常常被日期轉換搞得七葷八素嗎?雖說隨著資料庫版本不斷更新後,應該有不少新的轉換法函數可用,我還是照例,來個老調重彈吧!能不能激起火花,閃個靈感,看緣分囉。
西元年轉民國年、月初、下個月某一天,夠簡單吧!所以我也不太想寫.....其實是...怕被糾正啦!
西元年轉民國年
select to_char(to_number(to_char(sysdate, 'yyyymmdd')) - 19110000) from dual;
Select to_Char(Sysdate,'eeyyy/mm/dd hh24:mi:ss',
'nls_calendar = ''Roc Official''') from dual;
月初
select trunc(sysdate, 'mm')
from dual;
下個月某一天,例如:25號,改下面25這個數字即可,但不要改超過當月最後一天喔...例如:9/31,切記切記
select trunc(add_months(sysdate, 1), 'mm') + 25 - 1
from dual;
來個複雜點的,下個星期五,sun=1,fri=6, sat=7,把下面:wks改成對應數字6即可。
SELECT Sysdate + DECODE ( SIGN ( :wks - To_Number ( TO_CHAR ( Sysdate,
'd' ) ) ),
0, 7,
當然,看不懂很正常,改成PL/SQL可能簡單多了,
Oracle 應該有較簡易的函數吧?高手幫忙解答!
稍晚再用討論方式....
這要等我上班才有環境可以測試一下了。Sorry....下一個最接近的上旬、中旬、下旬的第一天?(ex, 9/1, 9/11, 9/21)?
這個習題,我改用分享了,單獨一篇文
http://ithelp.ithome.com.tw/question/10128897