ユーザー入力から日付をテーブルに挿入しようとしましたが、何かが機能しません。文字列をOracle 11gで日付に変換できません
I次のクエリがあります。
2000年10月1日
をと終了日のために私が設定:
INSERT INTO DOCTORS.TREATMENTS
(START_OF_TREATMENT, END_OF_TREATMENT, DOCTORS_ID,PACIENTS_ID, DIAGNOSIS_ID)
VALUES (TO_DATE(&startdate, 'yyyy/mm/dd'), TO_DATE(&enddate, 'yyyy/mm/dd'), 3, 1, 1);
は、開始日のために私は設定を
2000/11/01
それは私のためにOKに見えるが、私は次のエラー持っている:
エラーレポート - ORA-01858:数値が期待されていたところ、数値以外の文字が見つかった ORA-06512を:SYS.STANDARD、167行目 ORA-06512:2行目 01858. 00000 - "数字が必要な場所に数値以外の文字が見つかりました" *原因:日付を使用して変換される入力データフォーマットモデルは です。入力データには、フォーマットモデルで必要とされる数字が の数字が含まれていませんでした。 *処置:入力データまたは日付書式モデルを修正して、 要素の番号と型が一致することを確認してください。次に、操作を再試行します。
なぜこのエラーが発生したのか説明できます。
お勧めします、 Petar。
両方のフィールドの種類は、日付です。 –
'2000/10/01 == 200' – Bohemian
あなたはどういうエラーメッセージが表示されますか? ORA-01840 *入力値が日付書式に十分ではありません。*実際には、これは予期したメッセージですが、 @Bohemianは言うように、オラクルは最初にあなたが与えた表現のために200を代用します。ボブはあなたのコードを修正する正しい方法を教えましたが、あなたがしたエラーはなぜ不明なのですか? – mathguy