亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

oracle中decode函數的使用方法示例

2020-07-26 14:02:27
字體:
來源:轉載
供稿:網友

decode的幾種用法

1:使用decode判斷字符串是否一樣

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

含義為
IF 條件=值1 THEN
    RETURN(value 1)

ELSIF 條件=值2 THEN
    RETURN(value 2)
    ......

ELSIF 條件=值n THEN
    RETURN(value 3)
ELSE
    RETURN(default)
END IF

sql測試

select empno,decode(empno,7369,'smith',7499,'allen',7521,'ward',7566,'jones','unknow') as name from emp where rownum<=10

輸出結果

7369 smith7499 allen7521 ward7566 jones7654 unknow7698 unknow7782 unknow7788 unknow7839 unknow7844 unknow

2:使用decode比較大小

select decode(sign(var1-var2),-1,var 1,var2) from dual

sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1

sql測試

select decode(sign(100-90),-1,100,90) from dual

輸出結果

90

100-90=10>0 則會返回1,所以decode函數最終取值為90

反正

select decode(sign(100-90),1,100,90) from dual

輸出結果

100

100-90=10>0返回1,判斷結果為1,返回第一個變量100,最終輸出結果為100

3:使用decode函數分段

工資大于5000為高薪,工資介于3000到5000為中等,工資小于3000為低薪

sql測試

SELECT   ename,sal,  DECODE(SIGN(sal - 5000),      1,      'high sal',      0,      'high sal',      - 1,      DECODE(SIGN(sal - 3000),          1,          'mid sal',          0,          'mid sal',          - 1,          DECODE(SIGN(sal - 1000),              1,              'low sal',              0,              'low sal',              - 1,              'low sal')))FROM  emp

輸出結果

SMITH  800  low salALLEN 1600 low salWARD 1250 low salJONES 2975 low salMARTIN 1250 low salBLAKE  2850 low salCLARK 2450 low salSCOTT 3000 mid salKING 5000 high salTURNER 1500 low salADAMS 1100 low salJAMES 950     low salFORD 3000 mid salMILLER 1300 low sal

4:利用decode實現表或者試圖的行列轉換

sql測試

SELECT     SUM(DECODE(ENAME,'SMITH',SAL,0)) SMITH,    SUM(DECODE(ENAME,'ALLEN',SAL,0)) ALLEN,    SUM(DECODE(ENAME,'WARD',SAL,0))  WARD,    SUM(DECODE(ENAME,'JONES',SAL,0)) JONES,    SUM(DECODE(ENAME,'MARTIN',SAL,0)) MARTIN FROM EMP

輸出結果如下

SMITH ALLEN WARD  JONES MARTIN 800 1600  1250    2975    1250

5:使用decode函數來使用表達式來搜索字符串

decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)

decode函數比較表達式和搜索字,如果匹配,返回結果;如果不匹配,返回default值;如果未定義default值,則返回空值。

sql測試

SELECT   ENAME,  SAL,  DECODE(INSTR(ENAME, 'S'),      0,      '不含有s',      '含有s') AS INFOFROM  EMP

輸出結果

SMITH 800      含有sALLEN 1600  不含有sWARD 1250  不含有sJONES 2975   含有sMARTIN 1250   不含有sBLAKE 2850   不含有sCLARK 2450   不含有sSCOTT 3000  含有sKING 5000  不含有sTURNER 1500  不含有sADAMS 1100  含有sJAMES 950       含有sFORD 3000  不含有sMILLER 1300  不含有s

Decode函數在實際開發中非常的有用

結合Lpad函數,如何使主鍵的值自動加1并在前面補0

select LPAD(decode(count(記錄編號),0,1,max(to_number(記錄編號)+1)),14,'0') 記錄編號 from tetdmis

eg:

select decode(dir,1,0,1) from a1_interval

dir 的值是1變為0,是0則變為1

比如我要查詢某班男生和女生的數量分別是多少?

通常我們這么寫:
select count(*) from 表 where 性別 = 男;
select count(*) from 表 where 性別 = 女;

要想顯示到一起還要union一下,太麻煩了

用decode呢,只需要一句話

select sum(decode(性別,男,1,0)),sum(decode(性別,女,1,0)) from 表

eg:

select sum(decode(siteno,'LT',1,0)),sum(decode(siteno,'SZ',1,0)) from facd605;select sum(case siteno when 'LT' then 1 else 0 end),sum(case siteno when 'SZ' then 1 else 0 end) from facd605;

總結

以上就是本文關于oracle中decode函數的使用方法示例的全部內容,希望對大家有所幫助。歡迎參閱:Oracle中游標Cursor基本用法詳解、oracle數據庫ORA-01196錯誤解決辦法分享、oracle常見故障類別及規劃解析等,感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲影院污污.| 精品国产91久久久| 欧美与欧洲交xxxx免费观看| 亚洲视频777| 亚洲欧美日韩中文视频| 国产日韩综合一区二区性色av| 欧美日韩激情视频| 欧美日韩国产123| 欧美激情成人在线视频| 91精品视频一区| 性欧美xxxx视频在线观看| 久久久久久尹人网香蕉| 亚洲一区二区三区久久| 久久久精品网站| 一本色道久久综合狠狠躁篇怎么玩| 91久久久精品| 日韩一区二区在线视频| 亚洲久久久久久久久久| 日韩精品中文字幕视频在线| 久久成人人人人精品欧| 91免费人成网站在线观看18| 日韩女优在线播放| 日本国产欧美一区二区三区| 精品少妇v888av| 亚洲图片在线综合| 国产精品av电影| 日韩一级黄色av| 日韩在线视频免费观看| 日韩视频精品在线| 国产精品白丝av嫩草影院| 亚洲最大激情中文字幕| 91久久久久久久一区二区| 日本91av在线播放| 中文字幕亚洲欧美| 一本大道久久加勒比香蕉| 亚洲精品一区中文| 亚洲视频综合网| 国产精品毛片a∨一区二区三区|国| 国产久一一精品| 一区二区亚洲欧洲国产日韩| 欧美激情一区二区三区高清视频| 福利一区福利二区微拍刺激| 亚洲国产高清高潮精品美女| 久久久久久尹人网香蕉| 欧美日韩综合视频| 国产精品亚洲片夜色在线| 国产成人综合久久| 超碰91人人草人人干| 91网站在线免费观看| 久久久久久久久久久久久久久久久久av| 久久久精品亚洲| 中文字幕精品一区二区精品| 粉嫩av一区二区三区免费野| 日韩电影免费观看中文字幕| 欧美激情免费看| 欧美激情在线一区| 日韩中文字幕视频在线观看| 91精品啪在线观看麻豆免费| 久久手机免费视频| 国产日韩在线免费| 久久91亚洲精品中文字幕奶水| 国产美女搞久久| 欧美一级片在线播放| 97国产精品视频人人做人人爱| 欧美裸体xxxx极品少妇软件| 亚洲精品美女久久久久| 国产大片精品免费永久看nba| 夜色77av精品影院| 久久久久国产精品免费网站| 欧美xxxx综合视频| 亚洲第一视频在线观看| 国产欧美日韩专区发布| 97色在线播放视频| 久久伊人精品一区二区三区| 亚洲天堂精品在线| 91夜夜揉人人捏人人添红杏| 91精品久久久久久综合乱菊| 欧美大全免费观看电视剧大泉洋| 亚洲男人第一av网站| 欧美激情一区二区三区久久久| 国产精品扒开腿爽爽爽视频| 国产精品白丝jk喷水视频一区| 午夜精品一区二区三区在线视| 国产在线98福利播放视频| 7777精品久久久久久| 7777精品久久久久久| 国产欧美日韩精品在线观看| 欧美亚洲视频在线看网址| 亚洲欧美激情另类校园| 精品国产精品自拍| 国产日韩欧美日韩大片| 国产v综合ⅴ日韩v欧美大片| 福利一区福利二区微拍刺激| 在线播放国产一区中文字幕剧情欧美| 日韩av免费在线观看| 亚洲欧美精品在线| 国产视频久久久久| 一区二区三区视频免费| 欧美高清电影在线看| 日韩hd视频在线观看| 欧美大片免费观看| 性欧美在线看片a免费观看| 亚洲少妇中文在线| 中文在线不卡视频| 黑人极品videos精品欧美裸| 91精品国产91久久久久福利| 国产精品免费久久久久影院| 日韩免费精品视频| 日韩中文字幕国产精品| 亚洲天堂精品在线| 久久综合伊人77777蜜臀| 国产精品大陆在线观看| 一区二区国产精品视频| 成人午夜小视频| 欧美人与性动交a欧美精品| 在线观看免费高清视频97| 日韩精品在线免费观看视频| 日韩精品极品视频免费观看| 亚洲一区二区精品| 久久亚洲综合国产精品99麻豆精品福利| 亚洲第一区在线| 亚洲最大的成人网| 91社区国产高清| 亚洲欧美国产一区二区三区| 欧美激情视频三区| 精品国产一区二区三区在线观看| 午夜伦理精品一区| 久久精品国产久精国产思思| 国产在线观看精品一区二区三区| 欧美交受高潮1| 国产精品aaaa| 成人亲热视频网站| 欧美乱妇40p| 国产视频久久久久| 成人精品一区二区三区电影黑人| 欧美激情性做爰免费视频| 亚洲欧美综合v| 欧美激情欧美激情在线五月| 亚洲区免费影片| 亚洲免费福利视频| 日韩av大片在线| 欧美日韩成人精品| 国产91精品久| 日韩精品黄色网| 亚洲免费影视第一页| 4438全国亚洲精品在线观看视频| 国产aⅴ夜夜欢一区二区三区| 97在线免费观看| 欧美性猛交xxxx免费看久久久| 欧美视频13p| 久久视频精品在线| 亚洲精品日韩激情在线电影| 久久久精品久久久久| 久久久久久高潮国产精品视| 国产激情综合五月久久| 91av视频在线观看| 欧美日韩另类字幕中文| 亚洲三级 欧美三级| 色婷婷综合久久久久中文字幕1| 亚洲国产天堂久久综合| 国产男女猛烈无遮挡91| 久久艹在线视频| 一区二区成人精品| 欧美激情亚洲一区|