ORACLEでORA-01861: リテラルが書式文字列と一致しません

投稿日:2017-09-08

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

このエラー、ぶっちゃけ、意味が分からないところでもある。
日付の指定時に発生してて、原因が判明するまでに結構回り道をしました。
ネットで検索した情報だと、Windowsのレジストリだの、Date型の指定を確実にしろだのという情報ばかりで、今回の現象には当てはまらなかった。

結論としては、パラメータに、「YYYY/MM/DD」の部分だけ突っ込んで発生してました。
「HH:MM:SS」も一緒に定義する必要があるってことです。

そもそもは、Date型に対して、PGからパラメータを定義するところで発生してたんですが、まさかパラメータだとは思わず、SQLの検証を先にやってしまうという罠。
パラメータを1個ずつ確認して、ようやく日付部分に問題があることを確認。
SQL単体では問題なく実行できてたりしたから、余計に分かりづらかった。

SQLとしては、setparameterコマンドで日付をセットしても実行できてしまったので、まさかそこが原因とは気づけず・・・

で、試しに
「2017/07/01」
ではなく
「2017/07/01 00:00:00」
をパラメータに突っ込んだら動いた。

実際は、日付の範囲指定だったので、「2017/07/01 00:00:00」〜「2017/07/01 23:59:59」みたいな力技だけどw

参考にしたページ
ORA-01861: リテラルが書式文字列と一致しません

ストアドパラメータでの日付の受け渡しについて







-C#, ORACLE
-,

関連記事

[ORACLE]oracleのログの場所(リスナーログ、アラートログ)

ぶっちゃけ、ログの場所なんて普段意識してないわwww 存在は知ってるものの、ぶっちゃけ、普段からそんな場所など意識していたことがない。 もちろん、何かあったときは、ファイル検索で見つけりゃいいや~と思 …

何度だって引っかかるORACLEのエラー・・・。ORA-01008:バインドされていない変数があります。

今日も今日とて、ORA-01008のエラーに悩まされる。 無慈悲に「バインドされていない変数があります。」ってメッセージは出してくれるんだけど、ビンゴの位置は教えてくれないわけで・・・ 何度目だろう・ …

[C#]comboBoxでマウスホイールによる値の変更を禁止する

comboBoxってあるじゃないですか。 アレのお話。 勝手に値が変わってしまうコントロールがある いや、勝手にじゃなく、操作の結果なんだけども・・・ という、こちらの理論は当然ながらお客さんには通じ …

DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする。ダウンロードしたプログラムが実行できない時の対処法。

よくありますよね・・・ 予期せぬエラーってなんだよ(`・∀・´) 特にお客さんの目の前で「デンッ!!」っていうエラー音と共に表示された時の微妙な空気感がたまりません (╹◡╹) (^ω^) :(;゙゚ …

Oracleで「ORA-00918: 列の定義が不明瞭です 」のエラーの解決法と発生理由

発生したエラー ORA-00918: 列の定義が不明瞭です 原因 原因は、同じ列名やテーブルの別名を使用していること。 解決方法 Select句で羅列している列に同一の列名(別テーブル)があれば、as …


カテゴリー