Mysql 如何修复截断的错误日期时间值:';2017年4月25日上午11:48:45';插入时出错?
我的日期格式为:Mysql 如何修复截断的错误日期时间值:';2017年4月25日上午11:48:45';插入时出错?,mysql,sql,datetime,Mysql,Sql,Datetime,我的日期格式为:2017年4月25日上午11:48:45,我已使用STR\u-TO\u-DATE('2017年4月25日上午11:48:45','%b%d,%Y%h:%I:%s')将其转换为日期时间格式。。下面是我的表格的形状,其中包含时间作为格式化日期: 我想将此表插入另一个表中,如下所示: 表格: CREATE TABLE `locations` ( `uid` int(11) NOT NULL, `latitude` varchar(255) DEFAULT NULL, `l
2017年4月25日上午11:48:45
,我已使用STR\u-TO\u-DATE('2017年4月25日上午11:48:45','%b%d,%Y%h:%I:%s')将其转换为日期时间格式。
。下面是我的表格的形状,其中包含时间
作为格式化日期:
我想将此表插入另一个表中,如下所示:
表格:
CREATE TABLE `locations` (
`uid` int(11) NOT NULL,
`latitude` varchar(255) DEFAULT NULL,
`longitude` varchar(255) DEFAULT NULL,
`time` datetime NOT NULL,
`created_at` datetime NOT NULL,
KEY `locations_uid_IDX` (`uid`,`time`) USING BTREE,
KEY `locations_time_IDX` (`time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
INSERT INTO Transformation_Tables.locations
SELECT
uid,
latitude,
longitude,
STR_TO_DATE(time, '%b %d, %Y %h:%i:%s') as time,
STR_TO_DATE(created_at, '%Y-%m-%d %H:%i:%s') as created_at
from creditfix.locations;
插入:
CREATE TABLE `locations` (
`uid` int(11) NOT NULL,
`latitude` varchar(255) DEFAULT NULL,
`longitude` varchar(255) DEFAULT NULL,
`time` datetime NOT NULL,
`created_at` datetime NOT NULL,
KEY `locations_uid_IDX` (`uid`,`time`) USING BTREE,
KEY `locations_time_IDX` (`time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
INSERT INTO Transformation_Tables.locations
SELECT
uid,
latitude,
longitude,
STR_TO_DATE(time, '%b %d, %Y %h:%i:%s') as time,
STR_TO_DATE(created_at, '%Y-%m-%d %H:%i:%s') as created_at
from creditfix.locations;
在插入过程中,我面临以下错误:
SQL Error [1292] [22001]: Data truncation: Truncated incorrect datetime value: 'Apr 25, 2017 11:48:45 AM'
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect datetime value: 'Apr 25, 2017 11:48:45 AM' . Please help me out.
发行
解决方案
STR_TO_DATE('2017年5月12日下午3:05:19,'%b%d,%Y%l:%i:%s%p')作为时间
“2017-05-12 15:05:19”不要使用12h格式。。。插入时使用24小时格式我认为转换后的日期已经是24小时格式。如表列time
@maSTAShuFudo所示,您知道如何将2017年5月12日下午3:05:19
转换为24小时格式的日期吗?截止日期(“2017年5月12日下午3:05:19”
,“%b%d,%Y%h:%i:%s”)为我提供了“2017-05-12 03:05:19”。24小时不工作时应为h<代码>选择截止日期('2017年5月12日下午3:05:19','%b%d,%Y%H:%i:%s')作为时间
给我提供了“2017-05-12 03:05:19”是的,我得到了格式:)它的选择截止日期('2017年5月12日下午3:05:19','%b%d,%Y%l:%i:%s%p')作为时间
给我='2017-05-12 15:05:19'
谢谢!!请使用此格式完全更新答案:)