Oracle轉換時間出現的問題:ORA-01810: format code appears twice
阿新 • • 發佈:2020-02-05
Java開發中需要使用oralce中的to_date()函式用於將字串轉換為日期物件
insert into event_vpn (card_id,inevent,inip,outevent,outip,workday,ntid) values ('60192',to_date('2020/01/26 15:00:00','yyyy-mm-dd HH:mm:ss'),'1.1.1.1',to_date('2020/01/26 17:00:00',to_date('2020/01/26','yyyy-mm-dd'),'ccheng15')
ORA-01810: format code appears twice
能是像Java那樣指定日期格式,比如:
而在Oracle中的日期格式是不區分大小寫的,所以 mm 出現了兩次。
正確的寫法是:
to_date('2006-06-01 18:00:00' 'yyyy-mm-dd hh:mi:ss')
HH -- Hour of day (1-12).
HH12 -- Hour of day (1-12).
HH24 -- Hour of day (0-23).
MI -- Minute (0-59).
SS -- Second (0-59).
執行sql時出現以下error:
ORA-01849: hour must be between 1 and 12
這是因為,在ORACLE中,時間格式預設小時為12小時制,如果想執行以上語句,應該將時間格式改成為'yyyy-mm-dd HH24:mi:ss'即可
insert into event_vpn (card_id,'yyyy-mm-dd HH24:mi:ss'),'ccheng15')
這樣執行就OK了