ORACLE機能 ORAエラー

[ORAエラー] ORA-01861: リテラルが書式文字列と一致しません

投稿日:

以下のように表示されます。

(日本語)
ORA-01861: リテラルが書式文字列と一致しません
(英語)
ORA-01861: literal does not match format string

発生パターン

このエラーは以下のような場合に発生します。

  • 指定したフォーマット形式が、値とミスマッチである。
エラー例1
SQL> select to_date('2018/12/31 10:20:30') from dual; select to_date('2018/12/31 10:20:30') from dual * 行1でエラーが発生しました。: ORA-01861: リテラルが書式文字列と一致しません

to_dateをto_timestamp にするか、10:20:30を削除すればOKです。

エラー例2
SQL> select to_date('2018/12/31', 'hh24:mi:ss') from dual; select to_date('2018/12/31', 'hh24:mi:ss') from dual * 行1でエラーが発生しました。: ORA-01861: リテラルが書式文字列と一致しません

第2引数を 'yyyy/mm/dd' にすればOKです。

対処法

  • 値に合ったフォーマット形式を指定する

備考

  • TO_DATE、TO_TIMESTAMPはフォーマット形式を指定しないとデフォルトの日付フォーマット形式が使用されます。
    デフォルトの日付フォーマットは以下SQLで確認できます。


スポンサーリンク

スポンサーリンク

-ORACLE機能, ORAエラー

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[ORACLE関数] べき乗を求める(POWER)

ORACLEでべき乗を求めるには、POWERを使用します。 サンプル 例)2の3乗を求める SQL*Plus SQL&g ...
ORACLE

[ORACLE] 数値文字列を正しくソートする

数値文字列を正しくソートする方法です。 以下のテーブルをサンプルとします。 【M_SHAIN】 IDNAME 1鈴木 2 ...
ORACLE

[ORACLE] バインド変数を使用したSQLでバインド変数の中身を参照する

バインド変数を使用したSQLでバインド変数の中身を参照するサンプルです。 サンプル ①バインド変数を使用したSQLを実行 ...
ORACLE

[SQL*Plus] OUTパラメータのあるプロシージャを実行する

SQL*Plusで、OUTパラメータのあるプロシージャを実行するサンプルです。 構文 以下のコマンドを使用します。 (変 ...
ORACLE

[ORACLE関数] 文字列内で正規表現に合致する箇所を置換する(REGEXP_REPLACE)

文字列内で正規表現に合致する箇所を置換するには、REGEXP_REPLACE関数を使用します。 構文 (REGEXP_R ...

スポンサーリンク