Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何修复截断的错误日期时间值:';2017年4月25日上午11:48:45';插入时出错?_Mysql_Sql_Datetime - Fatal编程技术网

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'
谢谢!!请使用此格式完全更新答案:)