[解決済み] ORA-01821: ISO 8601 のローカルタイム付き日付のフォーマットが認識されないエラー
2022-02-05 08:37:44
質問
Javaコードのパラメータ値に基づいて、SQLで日付を変換しようとしています。しかし、以下のクエリを実行すると、エラーが発生します。このクエリを修正するために私を助けるためにあなたを要求する。
SELECT TO_DATE ('2015-08-26T05:46:30.488+0100',
'YYYY-MM-DD"T"hh24:mi:ss.sTZH:TZM')
FROM DUAL
*
Error at line 2
ORA-01821: date format not recognized
日付と時刻のフォーマット情報。
http://www.w3.org/TR/NOTE-datetime
解決方法は?
2つの問題があります。
TO_DATE
はタイムゾーンの要素や秒の端数を認識しないので、タイムゾーンを含むタイムスタンプに変換する必要があります。
.s
は分数秒を表現する方法ではないので、とにかく
.ff
. 有効な書式モデル
は、ドキュメントに記載されている
.
それらをまとめると、こうなります。
SELECT TO_TIMESTAMP_TZ ('2015-08-26T05:46:30.488+0100',
'YYYY-MM-DD"T"hh24:mi:ss.ffTZHTZM')
FROM DUAL;
TO_TIMESTAMP_TZ('2015-08-26T05:46:30.488+0100','YYYY-MM-DD"T"HH24:MI:SS.FFTZHTZ
-------------------------------------------------------------------------------
26-AUG-15 05.46.30.488000000 +01:00
もし本当に日付にしたいのであれば、タイムゾーン情報をどうするか決める必要があります。ローカルタイムと仮定するか(基本的に無視する)、UTCや他のタイムゾーンに変換するかです。しかし、タイムゾーンを含むタイムスタンプとして保持したい場合もあります。
関連
-
[解決済み】''付近の構文が正しくない
-
[解決済み】ストアドプロシージャーのエラー ORA-06550
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] mongoの外部キー?
-
[解決済み] MySQLのON句の不明なカラム
-
[解決済み] PLS-00428: この SELECT 文では INTO 句が必要です。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み】sys.dm_exec_sql_textはどのように機能するのでしょうか?
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] SQLクエリ「00904. 00000 - "%s: 無効な識別子".
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] SELECT DISTINCTを指定した場合、ORDER BY項目は必ず選択リストに表示されます。
-
[解決済み] SQLです。最初の出現箇所のみを返す
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。