您的位置:首页 > 数据库 > MySQL

MySql str_to_date函数与%Y-%m-%d%H:%i 问题简记

2018-04-11 11:10 113 查看
STR_TO_DATE(concat(c.departure_date, c.departure_time), '%Y-%m-%d%H:%i') < ?)
### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect datetime value: '2017-05-0818:55:00'
; SQL []; Data truncation: Truncated incorrect datetime value: '2017-05-0818:55:00'; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect datetime value: '2017-05-0818:55:00'

如上异常摘要

软件信息:

mysql版本-select version();

5.6.23-72.1-log
使用mapper版本号如下

<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.3.0</version>
</dependency>


问题分析:单独在客户端执行STR_TO_DATE函数 没问题,组合成sql 使用sqltemplate执行也没有问题

那么问题应该就是发生在mapper上了。3.3.0版本的mapper,会因为时间少个秒的单位而报错

即:%Y-%m-%d%H:%i 标识的是年-月-日时分,而实际concat后的结果为2017-05-0818:55:00

因为这个简单的不匹配而报错,很多时候实在是让人抓狂,修改%Y-%m-%d%H:%i为%Y-%m-%d%H:%i%s 即可简单解决问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: