在mysql中创建新列以将unix时间转换为可读日期和时间

时间:2016-12-02 02:04:31

标签: mysql unix-timestamp

我正在尝试在表格中创建一个新列,将unix时间列转换为人类可读的日期和时间。

我找到了一些函数但是语法有问题,因为我通常不使用mysql。在这种情况下,它是必需的。

另外,我目前拥有的unix时间栏是以毫秒为单位的,你能不能帮忙解决这个问题。

由于

1 个答案:

答案 0 :(得分:1)

unix时间列是否在同一个表中? 您可以向表中添加日期时间列,然后运行更新以翻译旧记录:

update foo_table set datetimecolumn=from_unixtime(unixcolumn);

然后,您可以向表中添加触发器,以便在每次执行插入时自动翻译:

CREATE TRIGGER `toDateTime` BEFORE INSERT ON `foo_table` FOR EACH ROW  set new.datetimecolumn=from_unixtime(new.unixcolumn);

更新:

因为它以毫秒为单位,你可以使用这个

from_unixtime(CAST(unixcolumn/1000 as BIGINT))