mysql function

image.png
image.png

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 

你可能感兴趣的:(mysql function)