【问题标题】:literal does not match format string oracle 11g文字与格式字符串不匹配 oracle 11g
【发布时间】:2017-03-10 21:36:10
【问题描述】:
exec altacliente('tor','156','mat','tor','409911',908,'295',(TO_DATE('2003/05/03','DD-MON-YYYY')),'Itau','42484130','argentina','Lomas de zamora','azara',(TO_DATE('2016/10/27','DD-MON-YYYY')));

程序:

create or replace PROCEDURE           "ALTACLIENTE" (nusuario in varchar2, nclave in varchar2, nnombre in varchar2, napellido in varchar2,ntarjeta in varchar2,nncalle in number,

codseguridad in varchar2,fechavenc in date, empresatarj in varchar2,ntelefono in varchar2, pais in varchar2, localidad in varchar2, calle in varchar2, fechahoy in date);

通知错误 - ORA-01861: 文字与格式字符串不匹配 ORA-06512: 在第 1 行 01861. 00000 - “文字与格式字符串不匹配” *原因:输入中的文字必须与输入中的文字长度相同 格式字符串(前导空格除外)。如果 “FX”修饰符已打开,文字必须完全匹配, 没有额外的空格。 *操作:更正格式字符串以匹配文字。

【问题讨论】:

    标签: string oracle oracle11g


    【解决方案1】:

    它是日期格式模型中的 MON。这适用于 JAN、FEB、MAR 等,或 NLS 设置中显示的任何语言。

    对于数字月份 (03, 11),使用 MM 而不是 MON。

    【讨论】:

      【解决方案2】:

      显然是格式

      TO_DATE('2003/05/03','DD-MON-YYYY')
      

      不匹配。

      正如 mathguy MON 已经说过的那样,意思是“月份的缩写名称”,而不是月份。

      除此之外,格式应该是以下之一(因为我不知道您是指“5 月 3 日”还是“3 月 5 日”)

      TO_DATE('2003/05/03','YYYY/MM/DD')
      TO_DATE('2003/05/03','YYYY/DD/MM')
      TO_DATE('03-05-2003','DD-MM-YYYY')
      TO_DATE('05-03-2003','DD-MM-YYYY')
      TO_DATE('03-MAY-2003','DD-MON-YYYY')
      TO_DATE('05-APR-2003','DD-MON-YYYY')
      

      【讨论】:

      • 哈! MON 的东西跳了出来,我什至没有注意到元素的顺序也不正确。
      • 谢谢!,解决了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 2010-11-26
      • 2012-10-09
      相关资源
      最近更新 更多