[解決済み] ORA-01830: 入力文字列全体を変換する前に日付書式画像が終了する / Select sum where date query
2022-02-07 07:56:49
質問
Javaで以下のようにクエリを実行しようとしています。
public ResultSet execSumStatment2() throws SQLException{
String query = "Select SUM(A) as NCCSeptember from NCC where Datum >= '01-09-2013 00:00:00' and Datum <= '30-09-2013 23:59:59'";
return execStatement(query);
}
そして、クラス内でexecSumStatementを呼び出します。
sql.execSumStatement2 () ;
実行すると、次のようなエラーメッセージが表示されます。
java.sql.SQLDataException: ORA-01830: 日付書式画像が入力文字列全体を変換する前に終了しました。
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
at com.bachelorarbeit.SQLExecutor.execStatement(SQLExecutor.java:20)
at com.bachelorarbeit.SQLExecutor.execSumStatment2(SQLExecutor.java:56)
at com.bachelorarbeit.Test.doGet(Test.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
SQL Developerで同じクエリを実行すると、問題なく動作します。インターネットで検索してみたところ、問題はクエリの日付のデータ型で、Dateであるべきだと思うのですが、何をやってもうまくいきません...。
プログラミング初心者なので、なるべくわかりやすく説明していただけると助かります!よろしくお願いします。ありがとうございました。
どのように解決するのですか?
暗黙の変換に頼らない方がいいと思います。それは悪い習慣です。
その代わり、次のようにしてみてください。
datenum >= to_date('11/26/2013','mm/dd/yyyy')
というように
datenum >= date '2013-09-01'
関連
-
PLSQLDeveloper14を使用したOracle11gへの接続手順を詳しく伝授
-
PLSQL14ダウンロードとインストールチュートリアル
-
Oracle21cをRPMパッケージでインストールする方法
-
オラクルのTO_DATEの使い方解説
-
[解決済み】ORA-30926:ソーステーブルの安定した行のセットを取得できません。
-
[解決済み】Oracle "SQL Error: Missing IN or OUT parameter at index:: 1" と表示されました。
-
[解決済み] Oracle の起動ができません - ORA-00845: MEMORY_TARGET はこのシステムでサポートされていません - しかし、メモリサイズは問題ないようです。
-
[解決済み] PLS-00306:Oracle SP の呼び出しで引数の数または種類が誤っている。
-
[解決済み] PLS-907でライブラリユニットを読み込めない
-
[解決済み] ORA-4031 "unable to allocate x bytes of shared memory" を解決する。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
オラクルインデックス概要
-
sqlplusコマンドによるOracleデータベースへのさまざまなログイン方法
-
Oracle11gアンインストール完全版グラフィックチュートリアル
-
Navicat PremiumツールでOracleデータベースをMySQLに移行する
-
[解決済み] ORA-01109: データベースが開きません」エラーを解決するにはどうすればよいですか?
-
[解決済み] ORA-00955 "名前はすでに既存のオブジェクトによって使用されています"
-
[解決済み] ORA-00917: カンマ欠落エラー [終了しました]。
-
[解決済み] ORA-01849: 時間は 1 から 12 の間でなければなりません。
-
[解決済み] ORA-04021: オブジェクトのロック待ちでタイムアウトが発生しました。
-
[解決済み] PLS-00302: component must be declared when it exists?」と表示されます。