ホームページ >データベース >mysql チュートリアル >JDBC で「0000-00-00 00:00:00」タイムスタンプを処理するにはどうすればよいですか?

JDBC で「0000-00-00 00:00:00」タイムスタンプを処理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 09:25:30522ブラウズ

How to Handle '0000-00-00 00:00:00' Timestamps in JDBC?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。