T-SQL:流程控制 4,Case 语句

ylbtech-SQL Server:SQL Server-流程控制 4,Case 语句

 SQL Server 流程控制中的 Case 语句。

1,Case 语句
 1 --=============================================================

 2 -- 1, Case语句

 3 -- Desc:Case语句也是条件判断的一种,可以完成比If语句更强的判断。在If语句中,如果需要判断很多的条件话

 4 -- ,将会用到大量的If嵌套。

 5 -- 判断条件越多时,用If语句的嵌套就会越多,代码看起来就越乱越复杂,可读性就越差。使用Case语句可以轻松

 6 -- 解决该问题。Case语句的语法代码有两种格式:一种是简单的Case代码,用于将某个表达式与一组简单的表达式

 7 -- 进行比较以确定结果;一种是搜索的Case代码,用于计算一组布尔表达式以确定结果。

 8 -- author:ylbtech

 9 -- pubdate:10:39 2012/12/15

10 --=============================================================

11 go

12 

13 go

14 --=============================================================

15 -- 2,Syntax

16 -- Desc:简单的Case语法代码:

17 --=============================================================

18 Case input_expression

19     When when_expression Then result_expression

20     [...n]

21     [Else else_result_expression]

22 End

23 

24 --Remark:

25 

26 go

27 --=============================================================

28 -- 3,Example

29 -- Desc:查看类别ID为2的类别名称。

30 --=============================================================

31 use Northwind

32 go

33 Declare @categoryName varchar(15)

34 Declare @outStr varchar(100)

35 

36 select @categoryName=CategoryName from Categories

37 where CategoryID=2

38 

39 Set @outStr=Case @categoryName

40     When 'Confections' Then 'Category:Confections'

41     When 'Dairy Products' Then 'Category:Dairt Products'

42     When 'Saefood' Then 'Category:Seafood'

43     Else 'Other'

44 End

45 

46 Print @outStr

47 

48 go

49 --=============================================================

50 -- 4,Operation result

51 --=============================================================

52 --Other

53 

54 go

55 --=============================================================

56 -- B2,Syntax

57 -- Desc:搜索的Case语法代码:

58 --=============================================================

59 Case

60     When when_expression Then result_expression

61     [...n]

62     [Else else_result_expression]

63 End

64 

65 --Remark:

66 

67 go

68 --=============================================================

69 -- B3,Example

70 -- Desc:查看类别ID为2的类别名称。

71 --=============================================================

72 use Northwind

73 go

74 

75 select ProductName, Case CategoryId

76     When 1 Then 'Beverages'

77     When 2 Then 'Condiments'

78     When 3 Then 'Confections'

79     When 4 Then 'Dairy Products'

80     When 5 Then 'Grains/Cereals'

81     When 6 Then 'Meat/Poulry'

82     When 7 Then 'Produce'

83     When 8 Then 'Seafood'

84     Else 'Other'

85     End As Category

86  from Products

87 

88 go

89 --=============================================================

90 -- B4,Operation result

91 --=============================================================

92 --Chai    Beverages

93 --Chang    Beverages

94 --Aniseed Syrup    Condiments

95 --Chef Anton's Cajun Seasoning    Condiments

96 --Chef Anton's Gumbo Mix    Condiments

 

warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

你可能感兴趣的:(t-sql)