mysql中datetime类型字段为默认值0000-00-00 00:00:00怎么取出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中datetime类型字段为默认值0000-00-00 00:00:00怎么取出来相关的知识,希望对你有一定的参考价值。

今天遇到了这个问题,rs.getString(4)是datetime类型,而且是默认值报错:然后网上搜素了一下解决方案如下:原来是jdbc连接的问题改成这样jdbc:mysql://localhost:3306/brilliant?user=conglin&password=conglin&useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNullreliably in Java.Connector/J 3.0.x always converted them to NULL when being read from a ResultSet.当这些值正在从ResultSet容器中读取时候,Connector/J 3.0.x 一直把他们转换为NULL值。Connector/J 3.1 throws an exception by default when these values are encountered as this is the most correct behavior according to the JDBC and SQL standards.依照JDBC和SQL的标准这些值碰到的最正确的处理方式就是在缺省情况下产生异常This behavior can be modified using the zeroDateTimeBehavior configuration property. The allowable values are:JDBC允许用下列的值对zeroDateTimeBehavior 属性来设置这些处理方式,exception (the default), which throws an SQLException with an SQLState of S1009.设置为exception 异常(缺省)用一个SQLState的s1009错误号来抛出一个异常convertToNull, which returns NULL instead of the date.设置为convertToNull,用NULL值来代替这个日期类型 参考技术A 当你插入一条数据时,如果不填这个字段的值,该列自己会填写默认值。数据库存储的是数据,你应该取出来的是数据,而不是类型吧

以上是关于mysql中datetime类型字段为默认值0000-00-00 00:00:00怎么取出来的主要内容,如果未能解决你的问题,请参考以下文章

Mysql5.1中,datetime类型的字段为啥插入不了NULL值

sql server datetime类型字段使用isnull返回1900-01-01 00:00:00.000的问题

mysql建表时怎样设置datetime类型的字段默认值为不自动更新的系统当前时间

SQL中哪个字段类别记录日期和哪个字段类别记录时间

MySQL 用 BETWEEN AND 日期查询包含范围边界

MySQL 用 BETWEEN AND 日期查询包含范围边界