更新MySQL表中的Varchar条目

时间:2013-01-07 13:08:23

标签: mysql date varchar create-table

CREATE TABLE `Schedule` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  `deptime` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3221 DEFAULT CHARSET=latin1;

字段deptime包含以下格式的条目:2012-09-04 09:17

现在我需要更改此字段中所有条目的日期,即2013-07-01 09:17。时间,即09:17不应更改。如何使用UPDATE查询快速完成此操作?

2 个答案:

答案 0 :(得分:1)

试试这个 -

update table Schedule 
set deptime = STR_TO_DATE(deptime,'%Y-%m-7 %h: %i');
OR
update table Schedule 
set deptime = STR_TO_DATE(deptime,'%Y-%m-$PHPVar %h: %i');

1)在day字段中给出硬编码值,或者如果有,则提供PHP变量。 2)在str_to_date函数中使用%H 24小时格式和%h 12小时格式

答案 1 :(得分:1)

或试试这个......

    UPDATE schedule SET deptime = CONCAT('2013-07-01 ',TIME(deptime));