Fehler beim Einfügen von null oder leerem Wert in DATE-Spalte, die dem LocalDate-Typ in Java zugeordnet ist

Ich benutze MS SQL als meine DB und ich habe eine DATE Spalte namens 'START_DATE' in einer meiner Tabellen. Dies ist eine nicht obligatorische Spalte.

In meiner Java-Schicht bin ich dem LocalDate zugeordnet. Wenn ich keinen Wert für START_DATE gesetzt habe, dann setze ich ihn auf Null oder lasse ihn leer.

In beiden Fällen bekomme ich den Fehler

Verursacht durch: com.microsoft.sqlserver.jdbc.SQLserverException: Implizite Konvertierung vom datatyp varbinary zum date ist nicht erlaubt. Verwenden Sie die CONVERT-function, um diese Abfrage auszuführen.

Wie kann ich das beheben?

Verwenden Sie 2012 Version oder neuer? Das Problem ist in der Art, wie SQL 2012 Nullwerte für eine datetime time interpretiert. Einfügen von Abfrage aus Java sollte eine explizite konvertieren function, um es zwangsweise als datetime insert, um diesen unerwarteten Fehler zu vermeiden. Etwas wie: konvertieren (DATETIME, START_DATE, 21)

Mehr Info