web-dev-qa-db-ja.com

入力文字列全体を変換する前にOracleの日付形式の画像が終了する

私のテーブルには2つのDATE形式の属性がありますが、値を挿入しようとするとエラーがスローされます:日付形式の画像は入力文字列全体を変換する前に終了します

insert into visit
values(123456, '19-JUN-13', '13-AUG-13 12:56 A.M.');

問題は12:56が、Oracleのドキュメントには、dateが日付と時刻の両方を意味すると書かれています。

12
Buras

おそらく、_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 DATEdatetimeの情報を一緒に保存します。

22
ntalbs

セッションを変更する必要があります

挿入する前に試すことができます

 sql : alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'
8
afeef

挿入しようとしているのは日付ではなく、文字列です。次のように、to_date()関数を使用する必要があります。

insert into table t1 (id, date_field) values (1, to_date('20.06.2013', 'dd.mm.yyyy'));
2
Andrew Logvinov

今日このエラーが発生し、フォーマットが正しくない年であることがわかりました...

select * from es_timeexpense where parsedate > to_date('12/3/2018', 'MM/dd/yyy')

年には3つの 'y'しかありません。 4。

フォーマットを再確認してください。

1
birwin