JDBC エラー処理: '0000-00-00 00:00:00' タイムスタンプ表現の処理
データベースを扱う場合、これは一般的です。空の日付が挿入され、次のような非現実的な値が自動的に割り当てられるシナリオが発生します。 「0000-00-00 00:00:00」。 MySQL を使用していて、Java の java.sql.Timestamp を使用してそのような値を含むデータを取得しようとすると、「...'0000-00-00 00:00:00' は Java として表現できません」というエラーが発生する可能性があります。 .sql.Timestamp."
データベース テーブル構造を変更せずにこの問題を解決するには、次の構成を含む JDBC URL を利用できます。パラメータ:
zeroDateTimeBehavior=convertToNull
このパラメータをデータ ソース構成に追加すると、「0000-00-00 00:00:00」タイムスタンプ値が Java として表現されるときに null 値に変換されるように指定できます。 .sql.タイムスタンプ。これにより、不正なタイムスタンプ表現に関連するエラーが発生することなく、ResultSet を取得できます。
zeroDateTimeBehavior パラメーターを含む JDBC URL の例を次に示します。
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
この構成を利用すると、 '0000-00-00 00:00:00' として保存されているタイムスタンプを適切に処理できます。データベースを使用すると、中断することなくデータを取得して処理できるようになります。
以上がJDBC で「0000-00-00 00:00:00」タイムスタンプを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。