Heim >Datenbank >MySQL-Tutorial >Wie gehe ich mit den 0000-00-00 00:00:00 DATETIME-Werten von MySQL in JDBC um?

Wie gehe ich mit den 0000-00-00 00:00:00 DATETIME-Werten von MySQL in JDBC um?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-25 07:10:17657Durchsuche

How to Handle MySQL's 0000-00-00 00:00:00 DATETIME Values in JDBC?

Verwalten von DATETIME-Werten von 0000-00-00 00:00:00 in JDBC

Der DATETIME-Datentyp von MySQL ermöglicht das Speichern von „quasi -null“-Werte, dargestellt durch 0000-00-00 00:00:00. Das Abrufen solcher Werte mithilfe von JDBC kann problematisch sein und möglicherweise zu Ausnahmen oder unerwarteten Ergebnissen führen.

Alternative Lösung ohne Casting

Ein Ansatz zum Umgang mit diesen Werten besteht darin, sie zu ändern die JDBC-URL und fügt den folgenden Parameter hinzu:

?zeroDateTimeBehavior=convertToNull

Dies weist den Treiber an, DATETIME-Werte zu konvertieren von 0000-00-00 00:00:00 auf NULL, anstatt eine Ausnahme auszulösen.

Quelle: MySQL-Handbuch

Das MySQL-Handbuch bietet zusätzliche Einblicke in dieses Problem:

  • Alle Null-DATETIME-Werte können in nicht zuverlässig dargestellt werden Java.
  • Connector/J 3.1 löst standardmäßig eine Ausnahme aus, wenn auf solche Werte gestoßen wird.
  • Die Eigenschaft „zeroDateTimeBehavior“ ermöglicht die Anpassung dieses Verhaltens:

    • Exception (Standard): Löst eine aus SQLException.
    • convertToNull: Gibt NULL anstelle des Datums zurück.
    • round: Rundet das Datum auf 0001-01-01.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit den 0000-00-00 00:00:00 DATETIME-Werten von MySQL in JDBC um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn