を呼び出すときに、私は小さなストアドプロシージャがあります。私は、このプロシージャをコールしようとすると「無効な数例外:無効な番号:いない有効な数値文字列」ストアドプロシージャ
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'は文字列のように見えます - 少なくとも私にとっては。ここで何が間違っていますか?
PS:id
は予約語ではありません。
@a_horse_with_no_name 実際には、これはエラーを特定するためのものです。 もし私が 'seconddate'に変更したり、エラーメッセージが同じであれば、エラーメッセージは同じです。 – Tobias
@GurwinderSingh、 いいえ、' varchar(33) 'タイプ – Tobias
エラーメッセージは文字列' DE666'有効な数字ではなく、文字列ではありません。なぜそれを数字として扱おうとしているのか分かりません。おそらく '' XYZ :: DATA "" ID "'は数字ですか? – melpomene