私のテーブルには2つのDATE形式の属性がありますが、値を挿入しようとするとエラーがスローされます:日付形式の画像は入力文字列全体を変換する前に終了します
insert into visit
values(123456, '19-JUN-13', '13-AUG-13 12:56 A.M.');
問題は12:56
が、Oracleのドキュメントには、date
が日付と時刻の両方を意味すると書かれています。
おそらく、_NLS_DATE_FORMAT
_を確認し、形式に準拠した日付文字列を使用する必要があります。または、次のようにINSERT
ステートメント内で_to_date
_関数を使用できます。
_insert into visit
values(123456,
to_date('19-JUN-13', 'dd-mon-yy'),
to_date('13-AUG-13 12:56 A.M.', 'dd-mon-yyyy hh:mi A.M.'));
_
さらに、Oracle DATE
はdateとtimeの情報を一緒に保存します。
セッションを変更する必要があります
挿入する前に試すことができます
sql : alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'
挿入しようとしているのは日付ではなく、文字列です。次のように、to_date()
関数を使用する必要があります。
insert into table t1 (id, date_field) values (1, to_date('20.06.2013', 'dd.mm.yyyy'));
今日このエラーが発生し、フォーマットが正しくない年であることがわかりました...
select * from es_timeexpense where parsedate > to_date('12/3/2018', 'MM/dd/yyy')
年には3つの 'y'しかありません。 4。
フォーマットを再確認してください。