欢迎投稿

今日深度:

CASE表达式实现基于条件逻辑来返回一个值,cas

CASE表达式实现基于条件逻辑来返回一个值,case表达式


我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了。

例如,以下对Products表的查询就在SELECT语句中使用了CASE表达式,以生成用于描述categoryid列取值的信息。

SQL代码如下:

-- 设置数据库上下文
USE TSQLFundamentals2008;
GO

SELECT productid,productname,categoryid,
CASE categoryid
WHEN 1 THEN 'Beverages'
WHEN 2 THEN 'Condiments'
WHEN 3 THEN 'Dairy Products'
WHEN 4 THEN 'Confections'
WHEN 5 THEN 'Grains/Cereals'
WHEN 6 THEN 'Meat/Poultry'
WHEN 7 THEN 'Produce'
WHEN 8 THEN 'Seafood'
ELSE 'Unkown Category'
END AS categoryname
FROM Production.Products;

查询结果:


if语句中的表达式不限于逻辑表达式,可以是任意的数值类型

可以是任意数值,但实际上编译系统会把这个表达式强制转成逻辑值,一般地false都为0;1或任何非零数值都是true,具体要看什么语言的。

判断题
1.if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。【Y 】
2.switch语句可以用if语句完全代替。【Y 】
3.switch语句的case表达式必须是常量表达式。【 Y】
4.if语句,switch语句可以嵌套,而且嵌套的层数没有限制。【Y 】
5.条件表达式可以取代if语句,或者用if语句取代条件表达式。【N 】
6.switch语句的各个case和default的出现次序不影响执行结果。【N 】
7.多个case可以执行相同的程序段。【Y 】
8.内层break语句可以终止嵌套的switch,使最外层的switch结束。【 N】
9.switch语句的case分支可以使用{ }复合语句,多个语句序列。【Y 】
10.switch语句的表达式与case表达式的类型必须一致。【Y 】
11.在switch多分支中,break语句可使流程立即跳出switch语句体。【Y 】
12.if (a=<b) x++;是合法的C语句。【 N】
13.if必须有else与之配对。【N 】
 

错误:case 值“1”已使用

'a'||'A'和'b'||'B'和'c'||'C'这3个表达式都是一个逻辑表达式,它们的值都是1,所以就会出现这样的提示,要想实现你这样的功能,可以这样
case 'a':
case 'A':
cout << "成绩为90-100。";
break;
case 'b':
case |'B':
cout << "成绩为80-90。";
break;
case ‘c':
case 'C':
cout << "成绩为70-60。";
break;
default :
cout << "成绩为不及格!";
 

www.htsjk.Com true http://www.htsjk.com/Sql_Server/11565.html NewsArticle CASE表达式实现基于条件逻辑来返回一个值,case表达式 我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了。 例如,以下对P...
评论暂时关闭