博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
阅读量:6264 次
发布时间:2019-06-22

本文共 469 字,大约阅读时间需要 1 分钟。

今天在做项目过程中,查询一个表中数据时总碰到这个问题:

     java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
查看数据库,发现某一字段为date类型,字段值为'0000-00-00' ;查看代码,我用的是rs.getString("字段名");于是把代码改成getDate("字段名");问题依旧!
    查找资料发现:在数据库连接url后面加上zeroDateTimeBehavior=convertToNull,问题解决。
 
   原来,"0000-00-00"在mysql中是个特殊值,作为date类型变量的默认值。而Java却不认账,把它作为非法值看待,导致出错。解决办法如上所述,资料上还有一种解决方式,时间关系我没有试,不知结果如何:zeroDateTimeBehavior=round
 
   其实,mysql中datetime类型的变量会遇见相似的问题,只不过它的默认值是"0000-00-00 00:00:00 "。解决方法也是一样。

转载地址:http://jcdpa.baihongyu.com/

你可能感兴趣的文章
go语言 windows 32位编译环境搭建
查看>>
我的家庭私有云计划-20
查看>>
手把手教你封装属于自己的Windows7安装镜像
查看>>
《作业指导书》的发布管理问题与解决办法
查看>>
55.Azure内容分发网络(CDN)
查看>>
MySQL常见错误代码(error code)及代码说明
查看>>
微软MVP社区巡讲
查看>>
总结一下,MariaDB 10(MySQL5.6企业版分支)的主要新特性
查看>>
MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-3-安装-Tool
查看>>
IDS与IPS的区别
查看>>
初试Windows 8 RTM
查看>>
Linux 下rpm包搭建LAMP环境
查看>>
Windows Server 2016-Nano Server介绍
查看>>
未来架构师的平台战略范例(4)_大数据
查看>>
Grizzly学习笔记(二)
查看>>
思科路由器动态VTI IPSec***配置
查看>>
***S启动时遇到1053错误
查看>>
CentOS7.5 使用 kubeadm 安装配置 Kubernetes1.12(四)
查看>>
shell脚本实现对系统的自动分区
查看>>
Tokyo Tyrant基本规范(5)--教程
查看>>