解决:sql server 中 date 类型,检索出该类型发现日期被减少了两天

 

在使用 sqlserver 的时候一般日期类型我会选择使用 datetime 类型,最近有个项目中使用了 date 类型,我在数据库插入的日期是 1994-07-08 结果检索出来的结果是 1994-07-06,硬生生是少了两天。

这个是由于数据库驱动 jar 本身的问题导致的。
sqljdbc.jar 匹配的 jre 环境是 1.5 和 1.6 的
更高版本的 jre 则需要 sqljdbc4.jar 来匹配使用。

方案一:将数据库中 date 类型的字段改为 datetime,就会正常显示时间;

方案二:自己下载 JDBC Driver 4.0 安装

更换 sqljdbc4.jar 即可解决。