1. 程式人生 > >oracle的case when函式

oracle的case when函式

  1. case-when的格式:

    case when 'x' then 'xx'
    when 'xxx' then 'xxxx'
    else 'xxxxx'
    end

    case..when..then的意思,可以理解為: case 當某某條件(when ‘xx’) 則賦予什麼值(then ‘xx’)
    其中 when .. then .. 可以使用多次,表示有不同的多個條件的情況,最後以else結尾,表示排除了case..when條件的其他情況
  2. 使用例項
    1) 需要處理的情況
    這裡寫圖片描述
    如圖,裡面的一個欄位ACTION_TYPE, 是一串編碼,一般都是資料字典裡的編碼,我們一眼無法看出其代表的意思,如果要知道其代表的意思,有一個辦法就是去看資料字典,然後用case when來處理。
    2)實際處理
    這裡寫圖片描述

    如上,我們使用了三次when來判斷了三次,最後用else來賦予一次預設值,等於一共加了4個條件,最後還可以取個別名 actionType,查到的結果就是自己判斷處理後的資料了。

相關推薦

Oracle中case when函式和decode函式

1、case when函式: select ename,case deptno   when 10 then 'ACCOUNTING'   when 20 then 'RESEARCH'   else 'SALES' end from emp;&n

oracle中的函式介紹(一):nvl函式、decode函式、case when函式、sum函式

最近做專案接觸到的oracle資料庫比較多,經常用到裡面的一些函式,以前的部落格中也介紹過行轉列和列轉行,這次再簡單給大家介紹幾個: nvl() NVL(a,b)就是判斷a是否是NULL,如果不

oracle的case when函式

case-when的格式: case when 'x' then 'xx' when 'xxx' then 'xxxx' else 'xxxxx' end case..wh

mysql case when函式

需求 現有美食的標籤30個,要按照指定的規則重新打標籤。舉例如下 漢堡薯條 二級 異國料理-西式快餐 漢堡麵包 二級 異國料理-西式快餐 法意牛排 二級 異國料理-西式快餐 炸雞漢堡 二級

oracle中的nvl 、nvl2、decode、case when 函式的用法

參考文件:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html <span style="font-size:18

SQL語句中case when函式的用法

前一段時間進行一段比較複雜的資料庫業務查詢需要對查詢出來的資料進行分類統計 ,用到了資料庫的case函式,這時才注意到這個函式有兩種用。 一種是: case 欄位名 when 欄位值 then 值 else 值2 end 這一種是之前比較常用的一種方式,相當於是大部分

case when 函式的使用例項

先簡單說點case函式的概念,case()函式有兩種形式,第一種:                       case  when 條件1 then 結果1                                               when 條件2 the

當case when then else end 語句遇上sum或count等統計函式(轉載)

轉載:https://blog.csdn.net/qq_18875541/article/details/69392355  事情是因為這樣了——我需要按2個維度來分組,求出按這2個維度分組的總數情況(count),但同時也需要在這2個維度下求出按不同條件得出的總數,這些不同條件下分別

CASE...WHEN...和SUM()函式

按照身份證號前幾位確定屬於什麼地區,得出傳送旅客人員組成每個地區人數,以便做成餅狀圖 SELECT SUM(CASE WHEN SUBSTR(DW_CTKY_GFDPXX.ZJHM,1,4) = ‘3716’ THEN 1 ELSE 0 END)AS 濱州人, SUM(CAS

MySql 函式 CASE WHEN THEN ELSE END 的用法

CASE 的介紹       Case 具有兩種格式,簡單的Case函式和Case搜尋函式       簡單的Case函式:       建立一張表並且新增資料: /* Navic

資料庫工作筆記004---mysql對結果欄位進行判斷的函式_Case when

結果1:    結果2     結果3    結果4    事前準備:例項用的表結構和資料 /* Navicat MySQL Data Transfer Source Server : work Source Server Version

MYSQL-----控制流程函式(case when...then..else..end)

MySQL有一些內建的控制流程函式,可以在SQL語句中使用這些函式來更加準確和直接的結果。 第一種語法: case when [value] then result .................. end  第二種語法: case when [condition] then r

decode函式的作用 decode和case when用法對比

學習分享必看:javacto.taobao.com 例子 如Table表有性別欄位,1代表男2代表女、3代表中性、還有沒填就代表未說明 select id,decode(sex,'1','男','2','女','3','中性','未說明') from Table; select id, &n

mysql資料庫group_concat函式內包含case when 語法時的使用

select `a`.`tdorderid`,group_concat('型別:',(case `a`.`td_type` when 'no_goods' then '無貨退款' when 'low_quantity' then '質量退款' when 'no_reaso

excel 中如何使用函式替代case when 進行轉換

最近有一個需求,將cxcel中”“事件型別”的狀態匯入資料庫,但是我要用到的是數值是int型別;如(1:運營中;2:提現困難;3:經偵介入;4:停業;5:跑路;6:已下線);現在使用exel公式進行轉換; 公式:=CHOOSE(MATCH(G2,{"提現困難","經偵介入"

Oracle中decode函式對case when的簡化

現假設我們有一個使用者表t_user,其中擁有一個表示性別的欄位gender,該欄位對應的值可能為0、1或者空,其中0表示“男”,1表示“女”,空表示“未填”。現需要我們在查詢t_user的gender時不是顯示對應的0和1,而是顯示對應的文字,“男”或“女”。

[Excel常用函式] 使用函式替代case when

目的 將表格中C列 “AB標識” 中的0, 1,2,3,normal對應為"排序組",“排序組”,“對照組”,“對照組”,"正常組"。 公式 =CHOOSE(MATCH(C2,{0,1,2,3,”

jquery deferred物件 then(),when()方法 ,解決回撥函式巢狀

曾經做過一個註冊頁,很多的AJAX介面,多個分支,層層巢狀,感覺程式碼特別難看,都說Promise/A+規範可以解決這個問題,而現在主流框架都實現了這個規範,於是就去研究了一下。發現可以使用deferred物件,然後的就是除錯,除錯,再除錯,感覺可以用下面的思路

sql中兩種情況判斷(if函式)、多種情況判斷(case .. when...)

原地址:https://segmentfault.com/a/1190000009676728 sum(if(actual_num>0, share_post,0)) 其中SUM的意思淺顯易懂,求和嘛。IF也十分清晰:判斷嘛。而且if的第一個引數很明顯就是條件,

Oracle中sum函式和case when聯合使用,報“ORA-00923: 未找到要求的 FROM 關鍵字”錯誤

在做行轉列的時候,一直報“ORA-00923: 未找到要求的 FROM 關鍵字”,找了好久的錯,現記錄下來以便以後檢視。需求是這樣的:按系(系名)分段統計(成績小於 60 分,60-85 分, 85 分以上)“大學物理”課程各分數段的學生人數,及各系學生的平均成績。附上出錯時