我很熟悉在Select语句等中使用Case。
但我不确定如何使用它来执行代码,比如使用代替If语句。
有谁知道它是否可能?我尝试了这个,但没有工作:
CASE @Variable
WHEN 0 THEN
SELECT * FROM TABLE1
...
BREAK;
WHEN 1 THEN
SELECT * FROM TABLE2
...
BREAK;
END
换句话说,我应该得到这个功能:
if(@Variable=1) SELECT * FROM TABLE1
if(@Variable=2) SELECT * FROM TABLE2
但是为参数使用case语句。
这是一个代码示例,所以请不要从字面上理解。目标是找出是否可以像IF
THEN
语句一样使用CASE语句。就像在switch
c#
一样
答案 0 :(得分:2)
据我所知,CASE
语句不存在。 SQL标准仅提及CASE
expressions,您已了解其中的this question。 IF...ELSE
statements已经提到过这一点。
请注意,{{3}}是特定于供应商的,并且不属于标准。但他们基本上就是我们在这方面所拥有的一切。