我正在尝试在表格中创建一个新列,将unix时间列转换为人类可读的日期和时间。
我找到了一些函数但是语法有问题,因为我通常不使用mysql。在这种情况下,它是必需的。
另外,我目前拥有的unix时间栏是以毫秒为单位的,你能不能帮忙解决这个问题。
由于
答案 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))