【问题标题】:ORA-01861: literal does not match format string : SQLORA-01861: 文字与格式字符串不匹配: 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 database oracle date


【解决方案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'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-27
      • 2017-08-24
      • 2015-01-11
      • 2010-11-26
      • 2012-10-09
      相关资源
      最近更新 更多