process control function;
if function
select if(boolean express, exec when true, exec when false )
eg: select if(3>2, "是的", "不是的") as result result:是的
case function
eg:
-- 当商品的上架状态为0的时候,商品的价格显示为原价;
-- 当商品的上架状态为1的时候,商品的价格显示为其的2倍;
-- 当商品的上架状态为3的时候,商品的价格显示为其的3倍
-- 其他的情况,商品的价格为0
*** one: 类似java中的switch-case
select good_price as 最原始的价格, good_status as 商品的上架状态,
case good_status
when 0 then good_price
when 1 then good_price*2
when 2 then good_price*3
else 0
END as 处理后的价格
from t_goods
-- 如果商品的价格大于500,则显示为"A级";
-- 如果商品的价格大于300,则显示为"B级";
-- 如果商品的价格大于100,则显示为"C级";
-- 其他的价格则显示"D"级
*** two: 类似java中的多重if-else
select good_price,
case
when good_price > 500 then "A级"
when good_price > 300 then "B级"
when good_price > 100 then "C级"
else "D级"
end
from t_goods
网友评论