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的主要内容,如果未能解决你的问题,请参考以下文章

php ORA-01861: 文字与格式字符串不匹配

ORA-01861: 在 django 中执行获取模型对象时文字与格式字符串不匹配

Oracle ORA-01861: 文字与格式字符串不匹配

java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配

Mybatis 中报错:ORA-01861: 文字与格式字符串不匹配

查询 SQL语句的时候 出现oracle ora 01861 文字与字符串格式不匹配 百思不得其解!