国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - oracle case when 語句的用法詳解

oracle case when 語句的用法詳解

2019-11-22 15:13oracle教程網 Oracle

本篇文章是對oracle case when 語句的用法進行了詳細的分析介紹,需要的朋友參考下

1. CASE WHEN 表達式有兩種形式

復制代碼代碼如下:


--簡單Case函數  
CASE sex  
WHEN '1' THEN '男'  
WHEN '2' THEN '女'  
ELSE '其他' END  
--Case搜索函數  
CASE
WHEN sex = '1' THEN '男'  
WHEN sex = '2' THEN '女'  
ELSE '其他' END  


2. CASE WHEN 在語句中不同位置的用法
2.1 SELECT CASE WHEN 用法

復制代碼代碼如下:


SELECT   grade, COUNT (CASE WHEN sex = 1 THEN 1      /*sex 1為男生,2位女生*/
                       ELSE NULL
                       END) 男生數,
                COUNT (CASE WHEN sex = 2 THEN 1
                       ELSE NULL
                       END) 女生數
    FROM students GROUP BY grade;


2.2 WHERE CASE WHEN 用法

復制代碼代碼如下:


SELECT T2.*, T1.*
   FROM T1, T2
  WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND
                   T1.SOME_TYPE LIKE 'NOTHING%'
                THEN 1
              WHEN T2.COMPARE_TYPE != 'A' AND
                   T1.SOME_TYPE NOT LIKE 'NOTHING%'
                THEN 1
              ELSE 0
           END) = 1


2.3 GROUP BY CASE WHEN 用法

復制代碼代碼如下:


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;  


3.關于IF-THEN-ELSE的其他實現
3.1 DECODE() 函數

復制代碼代碼如下:


select decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown')
from   employees;


貌似只有Oracle提供該函數,而且不支持ANSI SQL,語法上也沒CASE WHEN清晰,個人不推薦使用。
3.2 在WHERE中特殊實現

復制代碼代碼如下:


SELECT T2.*, T1.*
   FROM T1, T2
  WHERE (T2.COMPARE_TYPE = 'A' AND T1.SOME_TYPE LIKE 'NOTHING%')
         OR
        (T2.COMPARE_TYPE != 'A' AND T1.SOME_TYPE NOT LIKE 'NOTHING%')


這種方法也是在特殊情況下使用,要多注意邏輯,不要弄錯。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品久久久久久久久久久 | 亚洲视频欧洲视频 | 91亚洲国产成人久久精品网站 | 欧美大片在线观看 | 日韩电影中文字幕 | 操少妇逼视频 | 欧美久久久 | 亚洲精品一区二区三区在线 | av在线精品 | 欧美爱爱视频 | 亚洲va欧美va天堂v国产综合 | 一本一本久久a久久精品综合妖精 | 亚洲黄色一区二区 | 国产久 | 久久久久国产精品免费免费搜索 | 久久伊99综合婷婷久久伊 | 色天天综合久久久久综合片 | 久久精品国产一区二区三区 | 超碰在线人人草 | 91视频.com | 天天影视网色香欲综合网无拦截 | 一区二区免费看 | 亚洲成av人片在线观看 | 亚洲一区二区在线免费观看 | 国产精品亚洲一区二区三区在线 | 亚洲国产精品久久久久久6q | 中文日韩在线 | 久久久免费网站 | 天堂在线中文字幕 | 亚洲精品久久久久久久久久久久久 | 日韩欧美亚洲 | 久久国产精品一区二区三区 | 日韩精品专区在线影院重磅 | 久久久久在线 | 一级片在线观看 | 国产一区二区在线免费观看 | 久久99精品久久久 | 色黄网站 | 久久久久久综合 | 久久中文字幕一区 | 色在线视频 |