0

在我的数据库中,我有一个名为date的列。目前,该列包含以下格式的日期:

日/月/年

有什么我可以运行将其转换为 unix 时间戳的吗?IE

01/07/2003 变为 1057017600

大约有 20,000 行历史数据,我需要能够通过 MySQL 本身来做到这一点。

我尝试了以下方法,但是由于日期列的格式错误,它不起作用

UPDATE wl_daily
SET
   newdate = UNIX_TIMESTAMP(date)
4

1 回答 1

2

您可以创建一个新列(假设我们称之为 newdate),用您的 olddate 列填充它,删除旧列并重命名 newdate。

ALTER TABLE  `mytable` ADD  `newdate` TIMESTAMP NOT NULL ;
UPDATE `mytable` set newdate=UNIX_TIMESTAMP( STR_TO_DATE(olddate,  '%d/%m/%Y' ) );
ALTER TABLE `mytable` DROP `olddate`;
ALTER TABLE  `mytable` CHANGE  `newdate`  `olddate` TIMESTAMP NOT NULL ;
于 2013-10-31T16:18:29.340 回答