浅谈case..when..then..end
2009-12-08 17:21 SaraPad 阅读(218) 评论(0) 编辑 收藏 举报计算条件列表并返回多个可能的结果表达式之一。
CASE 有两种格式:
- 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。
- CASE 搜索函数计算一组布尔表达式以确定结果。
两种格式均支持可选的 ELSE 参数。
CASE input_expression WHEN when_expression THEN result_expression [ ...n ] [ ELSE else_result_expression ] END
CASE WHEN Boolean_expression THEN result_expression [ ...n ] [ ELSE else_result_expression ] END
1:SELECT ShipVia, CASE ShipVia WHEN 1 THEN 'A.Datum' WHEN 2 THEN 'Contoso' WHEN 3 THEN 'Consolidated Messenger' ELSE 'Unknown' ENDFROM Orders
2:SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,@dt)*3-Month(@dt),@dt),120)+CASE WHEN DATEPART(Quarter,@dt) in(1,4)THEN '31'ELSE '30' END)