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

2024-11-18 04:39:56
推荐回答(2个)
回答1:

今天遇到了这个问题, rs.getString(4)是datetime类型,而且是默认值报错: 然后网上搜素了一下解决方案如下: 原来是jdbc连接的问题 改成这样jdbc:mysql://localhost:3306/brilliant?user=conglin&password=conglin&useUnicode=true&characterEncoding=gbk& zeroDateTimeBehavior=convertToNull reliably 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值来代替这个日期类型

回答2:

当你插入一条数据时,如果不填这个字段的值,该列自己会填写默认值。数据库存储的是数据,你应该取出来的是数据,而不是类型吧