JDBC-Nullbehandlung für DATETIME-Werte von 0000-00-00 00:00:00
MySQL behandelt DATETIME-Werte von 0000-00- 00 00:00:00 als „Quasi-Null“-Werte und es wird versucht, sie abzurufen Solche Werte wie Zeichenfolgen aus einer JDBC-Verbindung können zu einer Ausnahme führen.
Um dieses Problem zu lösen, sollten Sie die folgenden Lösungen in Betracht ziehen:
Option 1: Umwandlung in CHAR
Sie können die DATETIME-Spalte in Ihrer SQL-Abfrage explizit in CHAR umwandeln:
SELECT CAST(add_date AS CHAR) AS add_date
Dadurch wird der Rohwert zurückgegeben DATETIME-Zeichenfolge, ohne sie in einen bestimmten Datentyp umzuwandeln.
Option 2: Verwenden der JDBC-Konfiguration
Alternativ können Sie Ihre JDBC-URL mit dem Parameter „zeroDateTimeBehavior“ konfigurieren:
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
Mit dieser Konfiguration sind DATETIME-Werte von 0000-00-00 möglich 00:00:00 wird in Ihrem ResultSet automatisch in NULL konvertiert.
Der Parameter „zeroDateTimeBehavior“ kann verschiedene Werte annehmen:
Beachten Sie, dass sich diese Einstellung auf alle DATETIME-Spalten in auswirkt dein Datenbank.
Quelle:
Das obige ist der detaillierte Inhalt vonWie gehe ich mit den 0000-00-00 00:00:00 DATETIME-Werten von MySQL mit JDBC um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!