mysql case when

mysql的case when 用法很简单,先看两个实例,其实两种写法都是可以达到同一种效果
第一种写法,case 指定列,简单函数

SELECT
CASE    mms_currency 
 WHEN '¥' THEN
 '人民币' 
 WHEN '$' THEN
 '美元' ELSE '英镑' 
 END 币种,
 a.*,
 b.suppcoller_name,
 b.suppcoller_code,
 e.mm_no 
FROM
 ms_material_suppcoller a
 LEFT JOIN ms_suppcoller b ON a.mms_suppcoller_id = b.id
 LEFT JOIN ms_material e ON a.mms_material_id = e.id

第二种写法,不case指定列,搜索函数

SELECT
CASE
 WHEN mms_currency= '¥' THEN
 '人民币' 
 WHEN mms_currency='$' THEN
 '美元'  
 ELSE '英镑'
 END 币种,
 a.*,
 b.suppcoller_name,
 b.suppcoller_code,
 e.mm_no 
FROM
 ms_material_suppcoller a
 LEFT JOIN ms_suppcoller b ON a.mms_suppcoller_id = b.id
 LEFT JOIN ms_material e ON a.mms_material_id = e.id

接下来看下实现效果
在这里插入图片描述
第三种用法,利用case when 进行批量修改,不过在项目代码中,不建议这么使用,可能会加大数据库服务器的压力哦

UPDATE ms_material_suppcoller 
SET mms_currency =
CASE
 WHEN mms_currency IS NULL THEN
 '¥' 
END 
WHERE
 1 = 1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值