【发布时间】:2020-04-27 01:15:48
【问题描述】:
对于我的 MySQL 查询,
update Products
set new_price = (
case when change_date>'2019-08-16' then new_price=100 else new_price end
)
;
更新语句将新价格设置为 0。为什么?
表格详情:
insert into Products (product_id, new_price, change_date) values ('1', '20', '2019-08-14');
insert into Products (product_id, new_price, change_date) values ('2', '50', '2019-08-14');
insert into Products (product_id, new_price, change_date) values ('1', '30', '2019-08-15');
insert into Products (product_id, new_price, change_date) values ('1', '35', '2019-08-16');
insert into Products (product_id, new_price, change_date) values ('2', '65', '2019-08-17');
insert into Products (product_id, new_price, change_date) values ('3', '20', '2019-08-18');
select * from Products;
【问题讨论】:
-
这些答案之一是否解决了您的问题?如果没有,您能否提供更多信息来帮助回答?否则,请考虑标记最能解决您的问题的答案(上/下投票箭头下的复选标记)。见What should I do when someone answers my question? 和How does accepting an answer work?
标签: mysql sql sql-update case-when