因為程式中在還沒完全改成民國年的情況下就執行
會導致儲存到Oracle上之後
出現3925年(1911+2014)這種結果
但要把時間改回2014年資料有上千筆當然不可能一個一個去改
當然還是要靠update的指令
但問題來了
如果你直接去用to_date改日期
最後的結果可能是變成2014/07/01 00:00:00
原本的時分秒可能因為沒指定被蓋掉
那麼要如何只改年不動到月日時分秒呢?
後來我問到的方法如下
update Login k set k.date=ADD_MONTHS(k.date,-1911*12) where to_char(k.date,'yyyy')='3925';
這段的意思是說我將現有的時間減掉1911*12個月
至於where的部份必須要用to_char取得年
因為如果是用to_date的話會變成3925/07/01 00:00:00這種結果
當然你的時分秒不會剛好是00:00:00
所以也不會找到符合的結果
沒有留言:
張貼留言