--CASE 函数的用法
--1.用来做结果集字段值的替换的
--2.它可以生产一个新列
--3.相当于switch...case 和if...else
--第一种使用的语法:
--CASE 表达式/字段 --如果case后面有接表达式或者字段,那么这种结构只能等值判断
-- WHEN 值 THEN 自定义值
-- ...
-- ELSE 如果上面的WHERE都不满足的时候就ELSE
--END
SELECT *FROM [dbo].[sys_user]
SELECT real_name,password,
CASE gender
when 1 then 'Boy'
when 2 then 'Girl'
else '我不知道啊!'
END as 性别
FROM [dbo].[sys_user]
--第二种使用的语法
--CASE --如果case后面没有接表达式或者值,那么这种结构就相当于if...else 可以做范围判断
-- WHEN 条件表达式 THEN 自定义值
-- ...
-- ELSE 值
--END
SELECT *FROM [dbo].[sys_user]
SELECT real_name,password,
CASE
WHEN gender=1 THEN '小男孩'
WHEN gender=2 THEN '小女孩'
WHEN gender=0 THEN '不知道'
WHEN gender is null THEN '还是不知道啊'
ELSE ''
END
FROM sys_user
--补充说明的是THEN后面的数据类型需要保持一致,WHEN后面的条件不作限制,包括字段,数据类型