如何解决如何在没有 FROM_UNIXTIME() 函数的情况下将 Unix 时间转换为 GMT+8 人类可读日期?
由于 mysql Generated Column
不能使用 FROM_UNIXTIME()
作为生成 sql,我如何将 unix 时间转换为 GMT+8 人类可读的日期?我失败的例子:
ALTER TABLE just_a_table
ADD COLUMN created_date
CHAR(5)
GENERATED ALWAYS
AS (FROM_UNIXTIME(created_at,"%m/%d"))
STORED;
解决方法
由于 mysql Generated Column
不能使用 FROM_UNIXTIME()
作为生成 sql
???
FROM_UNIXTIME()
是确定性函数。它可以轻松地用于生成的列表达式中。
CREATE TABLE just_a_table (created_at BIGINT);
INSERT INTO just_a_table VALUES
(UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)),(UNIX_TIMESTAMP(NOW() - INTERVAL 2 DAY));
ALTER TABLE just_a_table
ADD COLUMN created_date CHAR(5)
GENERATED ALWAYS AS (FROM_UNIXTIME(created_at,"%m/%d")) STORED;
SELECT * FROM just_a_table
created_at | created_date ---------: | :----------- 1619167553 | 04/23 1618998353 | 04/21
dbfiddle here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。