我使用MS SQL作为我的数据库,我有一个名为' START_DATE'的DATE列。在我的一张桌子里。这是非强制性列。
在我的java图层中,我已将其映射到LocalDate。当我没有为START_DATE设置任何值时,我将其设置为null或将其保留为空。
在这两种情况下,我都会收到错误
引起:com.microsoft.sqlserver.jdbc.SQLServerException:不允许从数据类型varbinary到date的隐式转换。使用CONVERT函数运行此查询。
如何解决此问题,请指教?
答案 0 :(得分:0)
您使用的是2012版还是更新版?问题在于SQL 2012为日期时间解释空值的方式。从Java插入查询应具有显式转换函数,以强制插入日期时间以避免此意外错误。 就像是: 转换(DATETIME,START_DATE,21)