以前对于Sql Server中Case命令的用法一直不是很了解,今天通过上网查了一些资料,将Case基本的用法总结一下。
Case命令有两种语法:
A)CASE<运算式>
WHEN <运算式> THEN <运算式>
……
WHEN <运算式> THEN <运算式>
[ELSE<运算式>]
END
举例:显示中文年月
SELECT GETDATE() AS 日期,
CASE MONTH(GETDATE())
WHEN 11 THEN '十一'
WHEN 12 THEN '十二'
ELSE SUBSTRING('一二三四五六七八九十', MONTH(GETDATE()), 1)
END + '月' AS 月份
B)CASE
WHEN<条件表达式>THEN<>运算式>
……
WHEN<条件表达式>THEN<>运算式>
[ELSE<运算式>]
END
举例:检索数据库中的性别(0:女;1:男)
SELECT
CASE
WHEN U_SEX = '0' THEN '女'
WHEN U_SEX = '1' THEN '男'
ELSE
'数据错误'
END
AS SEX
FROM SYS_USER
以前使用Case是犯过的错误:忘记了在CASE命令最后加END。