将计算日期列添加到 MySQL 数据集



我有一个列dateTime,它由格式为"MM-DD-YYYY, hh-mm-ss"的日期组成,我需要在同一表上创建一个存储列以摆脱时间元素。我试过:

更改表表添加列startOfDay存储(日期(dateTime((;

但这给出了错误的语法错误。我如何让它工作?我认为错误是由于AS部分造成的。

首先,当提出问题并告诉您有错误时,请始终在帖子中显示错误消息。

其次,要使用存储列,您需要MySQL 5.7或更高版本的实例。 目前我只有一个 5.6 实例在运行,所以我无法测试查询。但是查看MySQL文档,我建议使用以下查询语法:

ALTER TABLE <table-name> ADD COLUMN <column-name> DATE GENERATED ALWAYS AS (DATE_FORMAT(<name-of-datetime-column>, `%Y-%m-%d`)) STORED COMMENT '<description>';

只需将占位符替换为您拥有的名称即可。为了确保并了解事情是如何工作的,请始终查看有关该主题的MySQL参考手册。

请参阅:https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html

最新更新