問題のある '0000-00-00 00:00:00' DATETIME準 null 状態を表す値は、試行時に例外をトリガーすることがよくあります。 ResultSet.getString() を使用して文字列として取得します。これを解決するには、次のオプションを検討してください。
1. CHAR
へのキャスト データベースに表示される生の DATETIME 文字列を取得するには、MySQL 固有のクエリを使用します。
SELECT CAST(add_date AS CHAR) AS add_date
2. JDBC URL 設定
または、zeroDateTimeBehavior=convertToNull を JDBC URL に追加できます。
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
これにより、「0000-00-00 00:00:00」を変換するように JDBC が設定されます。 ' 値を NULL に設定すると、例外。
3. zeroDateTimeBehavior 構成プロパティ
Connector/J バージョン 3.1 以降では、zeroDateTimeBehavior プロパティでさらにカスタマイズが可能です。これを例外、convertToNull、round に設定することで、DATETIME 値の処理方法を指定できます。
この構成プロパティの詳細については、MySQL マニュアルを参照してください。
注: MySQL Connector/J 5.1.15 では、バグにより、zeroDateTimeBehavior=convertToNull 機能が影響を受けました。バグ修正の最新情報については、公式 Web サイトの CHANGELOGS を参照してください。
以上がJDBC で '0000-00-00 00:00:00' DATETIME 値を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。