mysql - 将计算日期列添加到 MySQL 数据集
问题描述
我有一列dateTime
由格式为“MM-DD-YYYY,hh-mm-ss”的日期组成,我需要在同一张表上创建一个 STORED 列以消除时间元素。我试过了:
ALTER TABLE table ADD COLUMN startOfDay
AS(date( dateTime
)) STORED;
但这会产生错误的语法错误。我如何使它工作?我认为错误是由于 AS 部分造成的。
解决方案
首先,当您提出问题并告诉您有错误时,请始终在您的帖子中显示错误消息。
其次,要使用 STORED 列,您需要 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
推荐阅读
- javascript - 在 onChangeText 中处理正则表达式电话号码的最佳方法反应本机
- javascript - 如何实现选中所有、取消选中所有并清除复选框列表的所有选项?
- python - 如何使用python类型提示动态地将父方法的返回类型指定为子类?
- azure - Find all records where a column is either equal to string A or string B using kusto query language
- mysql - 连接查询中的 MySQL MAX
- jenkins - 如何解决 Jenkins 测试实例中的插件加载问题
- php - 从帖子接收文件 - PHP
- javascript - 如果不满足最小最大范围,则在模态对话框中输入文本验证提示
- html - 以角度突出显示列表中的选定项目
- java - 如何使 TreeSelectionListener 作为 JEditorPane 上的 Hyperlinklistener 工作?