从日期中提取年份并插入新字段

时间:2019-01-08 11:34:27

标签: mysql sql sql-insert

我知道我可以使用以下方式提取我的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,斯蒂芬

2 个答案:

答案 0 :(得分:3)

您要寻找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。然后,您可以在需要时计算年份。

答案 1 :(得分:1)

这可以做到:

sid=(.+?)&

如果没有,请尝试:

insert into wccrm_orders (year) values(SELECT YEAR(STR_TO_DATE(ordered_date)) from wccrm_orders)