首页 > 解决方案 > 从日期中提取年份并插入新字段

问题描述

我知道我可以提取我的ordered_date 字段的年份

SELECT YEAR(STR_TO_DATE(ordered_date, "%Y-%m%d")) from wccrm_orders

我试过了

insert into wccrm_orders (year) values
(SELECT YEAR(STR_TO_DATE(ordered_date, "%Y-%m%d")) from wccrm_orders)

但它只是在最后一个 id 之后添加空条目......

如何将结果插入新字段“年份”?

感谢您的任何帮助。

BR,斯特凡

标签: mysqlsqlsql-insert

解决方案


你在找一个update吗?

update wccrm_orders
    set year = year(str_to_date(ordered_date, '%Y-%m%d'));

根据逻辑,您还可以执行以下操作:

update wccrm_orders
    set year = left(ordered_date, 4) + 0;

目前尚不清楚为什么要将日期与ordered_date. 只需将日期存储为datedatetime。然后,您可以在需要时计算年份。


推荐阅读