程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> CASE表達式實現基於條件邏輯來返回一個值,case表達式

CASE表達式實現基於條件邏輯來返回一個值,case表達式

編輯:更多數據庫知識

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 << "成績為不及格!";
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved