1

我正在尝试通过连接日期和时间字段来插入日期时间字段。

Om 我的本地 Mysql 使用警告消息,在服务器上失败并显示相同的消息。

请对此有任何帮助

源表(班次详情) -

CREATE TABLE IF NOT EXISTS `shift_t` (
  `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Name` varchar(20) NOT NULL,
  `NameShort` varchar(10) NOT NULL,
  `WeekType` varchar(4) NOT NULL,
  `DayOfWeek` char(3) NOT NULL DEFAULT '0',
  `StartTime` time NOT NULL DEFAULT '00:00:00',
  `EndTime` time NOT NULL DEFAULT '00:00:00',
  `LineID` int(10) unsigned NOT NULL DEFAULT 0,
  `PlantID` int(10) unsigned NOT NULL
)

要加载的表示例..

CREATE temporary TABLE shifttemp1 (
  plantid int(10) unsigned NOT NULL,
  lineid int(10) unsigned NOT NULL,
  starttime time NOT NULL,
  shiftstart1 datetime DEFAULT NULL
);

INSERT INTO shifttemp1
( plantid,lineid,starttime,shiftstart1)
SELECT    shf.plantid, 
          shf.lineid,
             shf.starttime,
          Str_to_date(CONCAT('2020-01-02', ' ', shf.starttime), '%Y-%m-%d %H:%i')  shiftstart1  
   from shift_t  shf 
    WHERE shf.dayofweek = 'MON' 
    AND shf.lineid = 31 
     AND shf.nameshort = 'DAY'     ;

错误信息

1292 Truncated incorrect datetime value: '2020-01-02 07:15:00'
4

1 回答 1

2

你错过了第二部分。所以基本上你想改变这个:

str_to_date(concat('2020-01-02', ' ', shf.starttime), '%Y-%m-%d %H:%i')

到:

str_to_date(concat('2020-01-02', ' ', shf.starttime), '%Y-%m-%d %H:%i:%s')
于 2020-02-20T16:02:18.370 回答