1. 程式人生 > >sql語句if,case when

sql語句if,case when

account amount else order clas class pre select acc

1.if

表達式:IF( expr1 , expr2 , expr3 )

expr1條件,條件為true,則值是expr2 ,false,值就是expr3

例:

SELECT 
o.id,u.account,catagory.`name`,orderTime,detail.amount,periodtime,if(direction=0,看漲,看跌) directionName
FROM t_order_detail detail
LEFT JOIN t_order o ON o.id = detail.orderId
LEFT JOIN t_catagory catagory ON catagory.id 
= o.catId LEFT JOIN t_user u ON u.id = o.userId

2.case when

case 列名

when 條件 then 結果

else 其它結果

end 別名

例:

SELECT 
CASE detail.`status` WHEN 0 THEN 未開倉
WHEN 1 THEN 已開倉
WHEN 2 THEN 已平倉
ELSE 取消訂單 END
status,
CASE o.type WHEN 0 THEN 單期
WHEN 1 THEN 多期
ELSE 策略 END 
typeName
FROM t_order_detail detail
LEFT JOIN t_order o ON o.id 
= detail.orderId

sql語句if,case when