ORA-01861: 文字与格式字符串不匹配: SQL
Posted
技术标签:
【中文标题】ORA-01861: 文字与格式字符串不匹配: SQL【英文标题】:ORA-01861: literal does not match format string : SQL 【发布时间】:2015-02-13 00:32:36 【问题描述】:INSERT INTO RENT_CONTRACT VALUES ('123456789','201213','20123444',100,1,' 2014-01-07 ');
我正在尝试将这个元组插入到我的rent_contract 表中,但是这个错误:
ORA-01861: 文字与格式字符串不匹配)
出现了。虽然最后一个值的类型是DATE
。有什么解决方案的建议吗?
提前谢谢你:)
【问题讨论】:
我会考虑那些额外的空间。 SQL Error: ORA-01861: literal does not match format string 01861 的可能重复项 【参考方案1】:Oracle(默认情况下)使用 DD-MMM-YYYY 格式。所以试试这个:
INSERT INTO RENT_CONTRACT
VALUES ('123456789', '201213', '20123444', 100,1 , '07-JAN-2014');
另外,不要在字符串常量中添加空格。
或者,使用DATE
关键字:
INSERT INTO RENT_CONTRACT
VALUES ('123456789', '201213', '20123444', 100,1 , DATE '2014-01-07');
【讨论】:
【参考方案2】:这取决于您的会话 NLS 设置。你要找的是
INSERT INTO RENT_CONTRACT VALUES ('123456789','201213','20123444',100,1,to_date('2014-01-07','yyyy-mm-dd'));
【讨论】:
以上是关于ORA-01861: 文字与格式字符串不匹配: SQL的主要内容,如果未能解决你的问题,请参考以下文章
ORA-01861: 在 django 中执行获取模型对象时文字与格式字符串不匹配
java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配