我通常在代码中处理这个,只是想检查是否可以直接在查询中完成
例如情景
TABLE : PRODUCTS
ProductID |OnPromotion |PromotionEndDate
1 Y 31-12-2014
2 Y 20-10-2014
3 Y 31-12-2014
在上面的场景中,如果想获得所有项目的列表但 对于PromotionEndDate小于curdate()的项目,它应该将OnPromotion字段更改为' N' 然后服务结果。这可能在mysql中吗?
答案 0 :(得分:1)
试试这个:
SELECT
ProductID,
(
CASE
WHEN PromotionEndDate < CURRENT_DATE()
THEN 'N'
ELSE OnPromotion
END
)AS OnPromotion,
PromotionEndDate
FROM
PRODUCTS
答案 1 :(得分:0)
试试这个:
首先更新表格中的数据,然后选择所需的数据
UPDATE PRODUCTS SET OnPromotion = 'N' WHERE PromotionEndDate < CURRENT_DATE();
SELECT * FROM PRODUCTS