中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

oracle case when的使用方法
來源:易賢網 閱讀:1721 次 日期:2014-09-17 10:56:33
溫馨提示:易賢網小編為您整理了“oracle case when的使用方法”,方便廣大網友查閱!

Case when 的用法,簡單Case函數

簡單CASE表達式,使用表達式確定返回值.

語法:

CASE search_expression

WHEN expression1 THEN result1

WHEN expression2 THEN result2

...

WHEN expressionN THEN resultN

ELSE default_result

搜索CASE表達式,使用條件確定返回值.

語法:

CASE

WHEN condition1 THEN result1

WHEN condistion2 THEN result2

...

WHEN condistionN THEN resultN

ELSE default_result

END

例:

select product_id,product_type_id,

case

when product_type_id=1 then 'Book'

when product_type_id=2 then 'Video'

when product_type_id=3 then 'DVD'

when product_type_id=4 then 'CD'

else 'Magazine'

end

from products

這兩種方式,可以實現相同的功能。簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。

還有一個需要注意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。

比如說,下面這段SQL,你永遠無法得到“第二類”這個結果

代碼如下:

CASE WHEN col_1 IN ( 'a', 'b') THEN '第一類'

WHEN col_1 IN ('a') THEN '第二類'

ELSE'其他' END

下面我們來看一下,使用Case函數都能做些什么事情。

一,已知數據按照另外一種方式進行分組,分析。

有如下數據:(為了看得更清楚,我并沒有使用國家代碼,而是直接用國家名作為Primary Key)

國家(country) 人口(population)

中國 600

美國 100

加拿大 100

英國 200

法國 300

日本 250

德國 200

墨西哥 50

印度 250

根據這個國家人口數據,統計亞洲和北美洲的人口數量。應該得到下面這個結果。

洲 人口

亞洲 1100

北美洲 250

其他 700

想要解決這個問題,你會怎么做?生成一個帶有洲Code的View,是一個解決方法,但是這樣很難動態的改變統計的方式。

如果使用Case函數,SQL代碼如下

SELECT SUM(population),

CASE country

WHEN '中國' THEN '亞洲'

WHEN '印度' THEN '亞洲'

WHEN '日本' THEN '亞洲'

WHEN '美國' THEN '北美洲'

WHEN '加拿大' THEN '北美洲'

WHEN '墨西哥' THEN '北美洲'

ELSE '其他' END

FROM Table_A

GROUP BY CASE country

WHEN '中國' THEN '亞洲'

WHEN '印度' THEN '亞洲'

WHEN '日本' THEN '亞洲'

WHEN '美國' THEN '北美洲'

WHEN '加拿大' THEN '北美洲'

WHEN '墨西哥' THEN '北美洲'

ELSE '其他' END;

同樣的,我們也可以用這個方法來判斷工資的等級,并統計每一等級的人數。SQL代碼如下

SELECT

CASE WHEN salary <= 500 THEN '1'

WHEN salary > 500 AND salary <= 600 THEN '2'

WHEN salary > 600 AND salary <= 800 THEN '3'

WHEN salary > 800 AND salary <= 1000 THEN '4'

ELSE NULL END salary_class,

COUNT(*)

FROM Table_A

GROUP BY

CASE WHEN salary <= 500 THEN '1'

WHEN salary > 500 AND salary <= 600 THEN '2'

WHEN salary > 600 AND salary <= 800 THEN '3'

WHEN salary > 800 AND salary <= 1000 THEN '4'

ELSE NULL END;

二,用一個SQL語句完成不同條件的分組。

有如下數據

國家(country) 性別(sex) 人口(population)

中國 1 340

中國 2 260

美國 1 45

美國 2 55

加拿大 1 51

加拿大 2 49

英國 1 40

英國 2 60

按照國家和性別進行分組,得出結果如下

國家 男 女

中國 340 260

美國 45 55

加拿大 51 49

英國 40 60

普通情況下,用UNION也可以實現用一條語句進行查詢。但是那樣增加消耗(兩個Select部分),而且SQL語句會比較長。

下面是一個是用Case函數來完成這個功能的例子

代碼如下:

SELECT country,

SUM( CASE WHEN sex = '1' THEN

population ELSE 0 END), --男性人口

SUM( CASE WHEN sex = '2' THEN

population ELSE 0 END) --女性人口

FROM Table_A

GROUP BY country;

這樣我們使用Select,完成對二維表的輸出形式,充分顯示了Case函數的強大。

三,在Check中使用Case函數。

在Check中使用Case函數在很多情況下都是非常不錯的解決方法。可能有很多人根本就不用Check,那么我建議你在看過下面的例子之后也嘗試一下在SQL中使用Check。

下面我們來舉個例子

公司A,這個公司有個規定,女職員的工資必須高于1000塊。如果用Check和Case來表現的話,如下所示

代碼如下:

CONSTRAINT check_salary CHECK

( CASE WHEN sex = '2'

THEN CASE WHEN salary > 1000

THEN 1 ELSE 0 END

ELSE 0 END )

如果單純使用Check,如下所示

代碼如下

CONSTRAINT check_salary CHECK

( sex = '2' AND salary > 1000 )

女職員的條件倒是符合了,男職員就無法輸入了。

實例

代碼如下

create table feng_test(id number, val varchar2(20);

insert into feng_test(id,val)values(1,'abcde');

insert into feng_test(id,val)values(2,'abc');

commit;

SQL>select * from feng_test;

id val

-------------------

1 abcde

2 abc

SQL>select id

, case when val like 'a%' then '1'

when val like 'abcd%' then '2'

else '999'

end case

from feng_test;

id case

---------------------

1 1

2 1

根據我自己的經驗我倒覺得在使用case when這個很像asp case when以在php swicth case開發關語句的用法,只要有點基礎知道我覺得在sql中的case when其實也很好理解。

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:oracle case when的使用方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
一本久道久久综合婷婷鲸鱼| 国产精品久久久久久久久久免费看 | 久久综合色8888| 国产精品二区二区三区| 欧美在线视频播放| 亚洲国产精品va在线看黑人动漫| 欧美精品在线一区| 亚洲欧美亚洲| 最新亚洲电影| 国产精品日韩在线一区| 羞羞答答国产精品www一本| 国产亚洲一区二区在线观看| 久久免费视频一区| 日韩午夜在线视频| 国产精品老牛| 久久视频一区二区| 亚洲精品日本| 韩国成人福利片在线播放| 免费短视频成人日韩| 一本到高清视频免费精品| 国产精品二区三区四区| 欧美一区观看| 亚洲一区二区三区在线| 狠狠色2019综合网| 国产精品视频九色porn| 欧美成人免费全部观看天天性色| 一区二区免费在线观看| 韩国欧美一区| 国产精品久久久久免费a∨| 欧美成人精品高清在线播放| 小处雏高清一区二区三区| 亚洲人成在线播放| 国产一区二区三区黄视频| 欧美日韩在线电影| 欧美电影资源| 久久久伊人欧美| 亚洲综合电影一区二区三区| 亚洲国产精品va在线看黑人| 国产精品最新自拍| 欧美日韩成人一区二区| 免费观看30秒视频久久| 久久久免费av| 久久精品亚洲一区二区| 午夜精品久久99蜜桃的功能介绍| 中国av一区| 一二三区精品福利视频| 亚洲精品久久| 亚洲精品在线视频观看| 亚洲日本欧美日韩高观看| 国产一区二区久久精品| 国产精品久久久久久久久久直播 | 亚洲国产片色| 狠狠色狠狠色综合日日小说| 国产麻豆精品在线观看| 国产欧美在线播放| 国产欧美日本一区视频| 国产欧美日韩精品专区| 国产日本亚洲高清| 国产一区日韩二区欧美三区| 国外成人在线视频| 永久久久久久| 亚洲三级电影全部在线观看高清| 91久久国产综合久久蜜月精品 | 国产一区二区三区免费观看| 国产精品美女久久久久av超清| 国产精品久久毛片a| 国产精品综合不卡av| 国产网站欧美日韩免费精品在线观看| 国产欧美精品在线观看| 国产一区二区三区高清播放| 国内久久精品视频| 亚洲国产欧美另类丝袜| 在线综合视频| 久久9热精品视频| 美女国产一区| 欧美日韩午夜在线视频| 国产精品美女一区二区| 久久国产日本精品| 亚洲人成人99网站| 欧美片在线观看| 一区二区三区欧美在线| 欧美日韩在线观看一区二区| 欧美日韩精品一区二区| 另类酷文…触手系列精品集v1小说| 欧美在线观看网站| 亚洲天堂免费在线观看视频| 亚洲激情在线观看视频免费| 久久国产成人| 久久大逼视频| 亚洲免费在线电影| 欧美大片在线观看一区| 午夜欧美大片免费观看| av不卡在线观看| 久久久久se| 国产日韩专区| 欧美系列一区| 欧美日韩精品一区二区天天拍小说 | 国产欧美精品日韩精品| 久久亚洲春色中文字幕| 狠狠综合久久| 国内一区二区三区| 在线不卡欧美| 亚洲人成精品久久久久| 国产精品入口夜色视频大尺度| 亚洲一区二区三区精品视频| 亚洲欧美日韩中文视频| 久久精品av麻豆的观看方式| 玖玖精品视频| 欧美日本成人| 欧美日韩在线一区| 国产精品色一区二区三区| 久久久www成人免费无遮挡大片| 欧美日韩色一区| 国产欧美精品日韩精品| 欧美日韩八区| 欧美日韩日日骚| 欧美肥婆bbw| 国产精品99久久99久久久二8| 久久综合伊人77777麻豆| 久久精品视频在线观看| 亚洲国产福利在线| 亚洲电影免费在线 | 亚洲片国产一区一级在线观看| 国产精品扒开腿做爽爽爽视频 | 欧美日韩在线一二三| 欧美伦理影院| 国产精品chinese| 在线观看亚洲视频| 亚洲精品视频在线播放| 亚洲日本在线视频观看| 免费观看成人www动漫视频| 欧美黄污视频| 好吊妞**欧美| 一区二区日本视频| 国产精品自拍视频| 亚洲午夜精品一区二区三区他趣| 国产精品久久久久久久久久三级 | 欧美午夜大胆人体| 国产一区香蕉久久| 欧美成年网站| 亚洲国产精品黑人久久久| 亚洲一区二区三区久久| 韩国成人福利片在线播放| 亚洲国产精品va在看黑人| 久久久精品一区| 亚洲亚洲精品在线观看 | 日韩视频中文| 国内精品亚洲| 国产日韩av在线播放| 国产日韩欧美一二三区| 狠狠色狠狠色综合日日tαg| 一区二区三区我不卡| 激情五月综合色婷婷一区二区| 久久先锋影音av| 在线观看一区欧美| 久久综合伊人77777麻豆| 亚洲国产精品一区二区www在线| 久久人体大胆视频| 亚洲国产另类精品专区| 久久综合九色综合久99| 亚洲国产福利在线| 亚洲色图在线视频| 国产视频一区欧美| 久久久人成影片一区二区三区 | 亚洲欧洲精品一区二区三区不卡| 久久精品国产一区二区电影| av成人免费在线| 国产欧美视频一区二区| 欧美在线免费播放| 尤物在线观看一区| 欧美日韩第一区日日骚| 亚洲主播在线观看| 亚洲激情成人| 国产精品美女久久久久久2018| 欧美中文在线观看国产| 最近看过的日韩成人| 国产精品99免费看 | 国产精品久久毛片a| 久久电影一区| 亚洲精品欧美日韩专区| 国产伦理精品不卡| 欧美www在线| 久久精品亚洲精品国产欧美kt∨| 91久久精品一区二区别| 国产精品卡一卡二卡三| 欧美成ee人免费视频| 亚洲中无吗在线| 亚洲人人精品| 在线播放不卡| 国产精品亚洲综合天堂夜夜| 毛片一区二区三区| 午夜亚洲性色福利视频| 亚洲视频免费看| 日韩视频一区二区三区| 国产一区亚洲一区| 国产精品国产三级国产a| 免费在线观看日韩欧美| 久久99在线观看| 欧美在线视频免费播放| 中文在线资源观看视频网站免费不卡|