问题描述
SQL> insert into TBL_Message values(tbl_seq.nextval,'我学到低二学期了,加油!','斯瓦辛格',TO_CHAR(SYSDATE,'yyyy"年"mm"月"dd"日"hh"时"mi"分"ss"秒"')); insert into TBL_Message values(tbl_seq.nextval,'我学到低二学期了,加油!','斯瓦辛格',TO_CHAR(SYSDATE,'yyyy"年"mm"月"dd"日"hh"时"mi"分"ss"秒"')) *第 1 行出现错误:ORA-01861: 文字与格式字符串不匹配请问各位高手指出那里出错,帮我看看(在oracle插入数据,还有时间,主要是时间报错)我需要的是系统时间,精确到秒!!谢谢!!
解决方案
表TBL_Message的时间字段应该是date类型的,所以你插入数据的时候就应该是date类型,否则会报错,改成INSERT INTO TBL_MessageVALUES (tbl_seq.NEXTVAL, '我学到低二学期了,加油!', '斯瓦辛格', SYSDATE);你查询的时候用下面sql就行了select TO_CHAR(tdate,'yyyy"年"mm"月"dd"日"hh"时"mi"分"ss"秒"') from TBL_Message
解决方案二:
'YYYY"年"MM"月"DD"日"HH"时"MI"分"SS"秒"'
解决方案三:
是不是少啦 selectKey 查询当前主键 currval<selectKey resultClass="java.lang.Integer"> <![CDATA[ SELECT PLAN_ORDER_LOG_S.currval AS id FROM dual ]]> </selectKey>还有 mi"分" 改成mm
解决方案四:
'yyyy"年"MM"月"dd"日"hh"时"mm"分"ss"秒"'