나는 작은 저장 프로 시저가 저장 프로 시저 :이 프로 시저를 호출 할 때"잘못된 번호 예외 : 유효하지 않은 번호 : 유효한 숫자 문자열을하지"전화
CREATE PROCEDURE "XYZ"."TEST" (
IN KKK_ID NVARCHAR(12),
IN START_DATE SECONDDATE,
IN END_DATE SECONDDATE,
IN INTER INTEGER
)
SELECT
*,
ROW_NUMBER() OVER(ORDER BY "DATES") AS "INDEXX"
FROM "XYZ::DATA"
WHERE
"DATES" >= :START_DATE
AND
"DATES" <= :END_DATE
AND
"ID" = :KKK_ID
ORDER BY "DATES";
을, 나는이 오류를 받고 있어요 메시지 :
CALL "XYZ"."TEST"('DE666', '2014-01-01', '2015-12-31', 2234);
잘못된 번호 예외 : 유효하지 않은 번호 : 유효한 번호 문자열 'DE666'
하지만 'D666'은 문자열처럼 보입니다. 적어도 나를 위해. 여기서 뭐가 틀린거야?
추 신 : id
은 예약어가 아닙니다.
@a_horse_with_no_name 실제로 이것은 오류를 정확히 지적하려는 시도였습니다. 다시 'seconddate'또는 다른 오류 메시지로 변경하면 오류 메시지가 동일합니다. – Tobias
@ GurwinderSingh, 아니요, varchar (33) 유형이 – Tobias
입니다. 오류 메시지는 문자열 'DE666' 유효한 숫자가 아니며 문자열이 아닙니다. 왜 그것이 그것을 숫자로 취급하려고하는지에 관해서는, 나는 모른다. 아마도 ""XYZ :: DATA ""ID "'는 숫자입니까? – melpomene