sql case when 多条件 小结

--  第一种 格式 : 简单Case函数 :
-- 格式说明    
--     case 列名
--     when   条件值1   then  选择项1
--     when   条件值2    then  选项2.......
--     else     默认值      end

--例子:
SELECT
    `cus`.`cus_name`,
    `cus`.`company_name`,
    `cus`.`reg_mobile`,
    `r`.`region_name`,
    CASE `cus`.`cus_statu`
WHEN 0 THEN
    '待审核'
WHEN 1 THEN
    '正常'
ELSE
    '冻结'
END
FROM
    `customer` `cus`
LEFT JOIN `region` `r` ON `r`.`region_id` = `cus`.`proid`
WHERE
    `cus`.`pro` IN (
        '浙江',
        '江苏',
        '安徽',
        '江西',
        '福建',
        '上海'
    )

 

--  第2种 格式 : Case搜索函数 :

-- 格式说明    
--     case 列名
--     when   字段 = 条件值1   then  选择项1
--     when   字段 = 条件值2    then  选项2.......
--     else   字段 = 默认值      end
--        as     字段
--例子:
SELECT
    `cus`.`cus_name`,
    `cus`.`company_name`,
    `cus`.`reg_mobile`,
    `r`.`region_name`,
  `cus`.`cus_statu`,
     case 
        when `cus`.`cus_statu` = 0 then '待审核'
        when `cus`.`cus_statu` = 1 then '正常'
        else  '冻结' end
   as cus_statu_name     
   
FROM
    `customer` `cus`
LEFT JOIN `region` `r` ON `r`.`region_id` = `cus`.`proid`
WHERE
    `cus`.`pro` IN (
        '浙江',
        '江苏',
        '安徽',
        '江西',
        '福建',
        '上海'
    )

你可能感兴趣的:(数据库,运维)