close

今天寫一個select 一筆data type為 date的資料然後跟sysdate相減

Run Form時出現了ORA-01861的錯誤訊息,查了一下好像是日期格式


錯誤,把他message出來他show出來的 日期格式是 04-3月 -09,怪

怪,我明明就有設NLS_FORMAT_DATE 呀,後來想到NLS那邊設定是設

Interface show出來的格式相關,會不會是DataBase層本身日期設定,

用下面指令查了一下..發現NLS_TIMESTAMP_TZ_FORMAT 是DD-MON-RR

這應該是Oracle XE預設

SELECT parameter, value FROM v$nls_parameters

where parameter='NLS_TIMESTAMP_TZ_FORMAT'

就是他了,把它改成YYYY-MM-DD就好了吧!不過又想到那如果我拿到其

他地方run我又沒有權限可以改時呢 ...嗯~

:undertake.caution:= to_date(to_char(enddate,'DD-MON-RR'))-to_date(to_char(sysdate,'DD-MON-RR'));   

就這樣囉..把它改成和NLS_TIMESTAMP_TZ_FORMAT一樣的格式

再去運算就好囉...

 

arrow
arrow
    全站熱搜

    horace1123 發表在 痞客邦 留言(0) 人氣()