CASE WHEN

sql中的case when 类似Java中的switch,比较灵活

语法

简单Case函数

CASE 字段名称
    WHEN 字段值 THEN 新值
    [WHEN 字段值 THEN 新值] 
    ...
    [ELSE 默认值]
END

Case搜索函数

CASE
    WHEN 断言条件 THEN 新值
    [WHEN 断言条件 THEN  新值
    ...
    [ELSE 默认值]
END
CASE 断言条件
    WHEN TRUE THEN 新值 ELSE 默认值
END

举例:

select tdp.product_id,  CASE tdp.product_price IS NULL WHEN TRUE THEN tddp.product_price ELSE tdp.product_price END channel_price, tddp.product_code
from trade_distribute_products tdp
join trade_distribute_default_products tddp on tdp.product_id = tddp.product_id
where tdp.distribute_id = 1 and tdp.delete_flag = 1 and tddp.delete_flag = 1

版权声明:本文为lsl645031854原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。