在我的数据库中,我有一个名为date的列。目前,该列包含以下格式的日期:
日/月/年
有什么我可以运行将其转换为 unix 时间戳的吗?IE
01/07/2003 变为 1057017600
大约有 20,000 行历史数据,我需要能够通过 MySQL 本身来做到这一点。
我尝试了以下方法,但是由于日期列的格式错误,它不起作用
UPDATE wl_daily
SET
newdate = UNIX_TIMESTAMP(date)
在我的数据库中,我有一个名为date的列。目前,该列包含以下格式的日期:
日/月/年
有什么我可以运行将其转换为 unix 时间戳的吗?IE
01/07/2003 变为 1057017600
大约有 20,000 行历史数据,我需要能够通过 MySQL 本身来做到这一点。
我尝试了以下方法,但是由于日期列的格式错误,它不起作用
UPDATE wl_daily
SET
newdate = UNIX_TIMESTAMP(date)
您可以创建一个新列(假设我们称之为 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 ;