2016-10-28 2 views
1
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'))); 

Процедура:буквальные не соответствует формату строка Oracle 11g

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

codseguridad в varchar2, fechavenc в день empresatarj в varchar2, ntelefono в varchar2, Pais в varchar2, localidad в varchar2, каллы в varchar2 , fechahoy в дату);

Informe де ошибка - ORA-01861: буквальная не соответствует строке формата ORA-06512: в строке 1 01861. 00000 - "буквальный не соответствует формату строки" * Причина: литералы в входе должны быть той же длины, что и литералы в , в строке формата (за исключением ведущих пробелов). Если был изменен модификатор «FX», буквальная буква должна точно соответствовать без лишних пробелов. * Действие: Исправьте строку формата, чтобы соответствовать литералу.

ответ

1

Очевидно формат

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

не совпадает.

Как уже говорилось, mathguy MON означает «Сокращенное название месяца», а не номер месяца.

Помимо этого формат должен быть один из следующих (так как я не знаю, вы имеете в виду «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') 
+0

Ха! «МОН» выскочила, и я даже не заметил, что элементы были в неправильном порядке. – mathguy

+0

Спасибо !, Решено <3 – Vanshii

2

Это модель MON в формате формата даты. Это для JAN, FEB, MAR и т. Д., Или как они есть на языке, указанном в настройках NLS.

Для числового месяца (03, 11) используйте ММ вместо MON.

Смежные вопросы