1

由于 mysqlGenerated 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;
4

1 回答 1

0

由于mysqlGenerated 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 | 创建日期
---------: | :-----------
1619167553 | 04/23       
1618998353 | 04/21       

db<>在这里摆弄

于 2021-04-23T09:47:22.107 回答