[解決済み] ORA-01810:書式コードが2回表示される
2022-02-17 09:23:55
質問
以下のSQLはなぜORA-01810エラーを発生させるのですか?私はこのエラーを調査し、私はそれぞれの日付の挿入に異なる日付フォーマットを使用しています。
INSERT INTO bag_grte_clm
(
schd_dprt_ldt,
arr_trpn_stn_cd,
bkg_crtn_gdt,
sbmt_bag_grte_clm_dt,
bag_grte_clm_stt_cd,
lst_updt_gts,
bag_grte_clm_gts,
dprt_trpn_stn_cd
)
VALUES (
TO_DATE('2015/12/06', 'yyyy/mm/dd'),
'YUL',
TO_DATE('2015-11-15', 'yyyy-mm-dd'),
TO_DATE('120615', 'MMDDYY'),
'DENIAL',
(current_timestamp),
TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mm:ss'),
'ATL'
)
解決方法は?
<ブロッククオートTO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mm:ss')
2つの意味で間違っています。
1. 不正確なフォーマットコード
を繰り返していますね。
MM
のフォーマットマスクを2回使用します。
MM
は
月
と
MI
は
分
.
SQL> SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mm:ss') FROM dual.SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mm:ss') FROM dual; SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mm:ss')FROMデュアル * 1 行目で ERROR が発生しました。 ORA-01810: フォーマットコードが2回表示されました。
2. 不正確な時間部分
00:00:00
を投げることになるので、間違っています。
ORA-01849
というのは
hourは0にはできないので、1から12の間でなければなりません。
.
SQL> SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mi:ss') FROM dual.SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mi:ss') FROM dual; SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh:mi:ss')FROMデュアル * 1 行目で ERROR が発生しました。 ORA-01849: 時間は 1 から 12 の間でなければなりません。
正しい方法は
24時間
の書式を残すか、あるいは
時間部分
となり、デフォルトは
12 AM
.
例えば
24時間表示形式。
SQL> SELECT TO_TIMESTAMP('20151206 00:00:00', 'yyyymmdd hh24:mi:ss') my_tmstamp FROM dual;
MY_TMSTAMP
---------------------------------------------------------------------------
06-DEC-15 12.00.00.000000000 AM
時間部分がない。
SQL> SELECT TO_TIMESTAMP('20151206', 'yyyymmdd') my_tmstamp FROM dual;
MY_TMSTAMP
-----------------------------------------------------------------------
06-DEC-15 12.00.00.000000000 AM
関連
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み】参照するテーブルにプライマリーキーやキャンディデートキーがない
-
[解決済み】Athena: スケールファクターでリソースを使い果たすクエリ
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] 集計を行わずに行から列へピボット移動する
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] SQLです。最初の出現箇所のみを返す
-
[解決済み] 列名または提供された値の数がテーブル定義と一致しません。
-
[解決済み] JavaScriptの日付の書式設定方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】2つの列を分割する方法は?
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み】SQLが単一グループのグループ関数でないこと
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] 2つの列を分割するには?
-
[解決済み] Oracle(LiveSQL)のSQL [重複]について
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)