Oracle的時間格式為 2014/02/13 00:00:00
InfoMix的時間格式則為 2014-02-13 00:00:00.0
常常在下查詢指令時 需要比較時間 卻出現 時間格式錯誤之訊息
例如:
Select * From TableA Where TimeA > (Select TimeB From TableB Where Target = 'xxx')
此時 TimeA 的格式為 InfoMix 的時間 而 TimeB 卻是使用 Oracle 的時間格式
登登登登..........
這時候我們需要把 TimeB 轉格式 好拿來與 TimeA 比較
正確SQL
Select * From TableA Where TimeA > (Select to_Date(TimeB,'%Y/%m/%d %H:%M:%S') From TableB Where Target = 'xxx')
%Y 是指妳放西元年份的位置 (4碼)
%m 是指妳放月份的位置(2碼)
%d 是日
%H %M %S 則是 時分秒
簡單吧!
以下多舉幾個例子幫助理解與使用:
20140213101010 》'%Y%m%d%H%M%S' 》2014-02-13 10:10:10.0
2014.02.13 16.30.10 》'%Y.%m.%d %H.%M.%S' 》2014-02-13 16:30:10.0
20140213 16:31:55 》'%Y%m%d %H:%M:%S' 》2014-02-13 16:31:55.0