在DATE列中插入null或空值时出错,映射到java中的LocalDate类型

时间:2017-05-12 10:20:32

标签: java sql-server

我使用MS SQL作为我的数据库,我有一个名为' START_DATE'的DATE列。在我的一张桌子里。这是非强制性列。

在我的java图层中,我已将其映射到LocalDate。当我没有为START_DATE设置任何值时,我将其设置为null或将其保留为空。

在这两种情况下,我都会收到错误

引起:com.microsoft.sqlserver.jdbc.SQLServerException:不允许从数据类型varbinary到date的隐式转换。使用CONVERT函数运行此查询。

如何解决此问题,请指教?

1 个答案:

答案 0 :(得分:0)

您使用的是2012版还是更新版?问题在于SQL 2012为日期时间解释空值的方式。从Java插入查询应具有显式转换函数,以强制插入日期时间以避免此意外错误。 就像是:     转换(DATETIME,START_DATE,21)

More info