在我的数据库中,我有一个名为 date 的列。目前,该列包含以下格式的日期:
日/月/年
我可以运行什么来将其转换为unix时间戳吗?即。
01/07/2003成为1057017600
大约有20,000行历史数据,我需要能够通过MySQL本身来做到这一点。
我尝试过以下操作,但由于日期列的格式错误,因此无效
UPDATE wl_daily
SET
newdate = UNIX_TIMESTAMP(date)
答案 0 :(得分: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 ;