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

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 14:00:52
字體:
來源:轉載
供稿:網友

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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品国产美女| 全色精品综合影院| 777国产偷窥盗摄精品视频| 91九色综合久久| 国产精品久久在线观看| 国产精品7m视频| 日本一区二区在线免费播放| 中文字幕精品久久| 一区二区成人av| 国产日韩精品综合网站| 国产精品成久久久久三级| 久久99久国产精品黄毛片入口| 91在线免费观看网站| 欧美猛少妇色xxxxx| 欧美日韩国产一区中文午夜| 另类视频在线观看| 亚洲国产欧美一区二区三区久久| 欧美在线视频播放| 精品自拍视频在线观看| 欧美精品18videos性欧美| 欧美三级免费观看| 久久精品国产久精国产一老狼| 96sao精品视频在线观看| 日韩欧美综合在线视频| 91在线|亚洲| 91九色国产视频| 亚洲精品网站在线播放gif| 超碰精品一区二区三区乱码| 91久热免费在线视频| 91色中文字幕| 日韩在线中文字幕| 日本三级韩国三级久久| 国产极品精品在线观看| 日本乱人伦a精品| 777午夜精品福利在线观看| 国语自产精品视频在线看一大j8| 国产精品一二区| 日韩在线国产精品| 国产一区二区欧美日韩| 久久久久久成人精品| 精品中文字幕在线| 久久久国产91| 日韩大陆欧美高清视频区| 91精品综合视频| 欧美一区二区三区免费观看| 91精品视频免费看| 色爱精品视频一区| 亚洲精品按摩视频| 精品毛片网大全| 欧美一区二区三区图| 性欧美在线看片a免费观看| 国产精品白嫩初高中害羞小美女| 精品美女国产在线| 亚洲人av在线影院| 亚洲国产天堂久久综合| 人人澡人人澡人人看欧美| 国产伦精品一区二区三区精品视频| 97超碰国产精品女人人人爽| 久久乐国产精品| 国产精品一区二区久久国产| 亚洲欧美激情另类校园| 国产精品久久久久久久久久ktv| 久久色免费在线视频| 欧美成人午夜激情在线| 亚洲区在线播放| 亚洲国产精品久久精品怡红院| 欧美电影免费观看电视剧大全| 成人福利网站在线观看11| 精品久久久久久亚洲精品| 国产精品一区二区电影| 国产精品永久在线| 伊人久久免费视频| 欧美精品在线观看91| 日韩在线小视频| 久久久久久欧美| 国产一区二区三区在线播放免费观看| 88国产精品欧美一区二区三区| 91久久精品美女高潮| 欧美性猛交xxxx乱大交| 亚洲电影免费观看| 亚洲欧美日韩中文在线制服| 欧美日韩精品在线视频| 色哟哟网站入口亚洲精品| 亚洲国产精品久久久久秋霞不卡| 欧美香蕉大胸在线视频观看| 国产日本欧美一区| 国产精品亚洲视频在线观看| 精品国产区一区二区三区在线观看| 欧美激情精品久久久久久久变态| 国产日韩精品一区二区| 亚洲欧美日韩区| 亚洲国产成人一区| 91综合免费在线| 国产精品天天狠天天看| 精品magnet| 隔壁老王国产在线精品| 国产成人精品免高潮在线观看| 在线看日韩av| 亚洲视频网站在线观看| 亚洲欧美激情另类校园| 亚洲资源在线看| 久久久久久高潮国产精品视| 国产精品久久久久久久久久久新郎| 久久久精品一区二区三区| 久久久久亚洲精品国产| 国产精品电影观看| 久久伊人精品一区二区三区| 日韩一区二区欧美| 91社影院在线观看| 欧美裸体xxxx极品少妇| 欧美高清视频在线| 亚洲视频在线免费观看| 亚洲欧美一区二区三区在线| 国产精品入口日韩视频大尺度| 琪琪亚洲精品午夜在线| 久久久久久久久国产| 日韩在线资源网| 日韩亚洲国产中文字幕| 91在线视频一区| 欧美一乱一性一交一视频| 久久精品福利视频| 国产成人精彩在线视频九色| 日韩欧美亚洲范冰冰与中字| 欧美精品一区二区三区国产精品| 91麻豆国产精品| 在线观看欧美www| 国产mv免费观看入口亚洲| 成人午夜在线影院| 亚洲欧美国产va在线影院| 欧美激情第一页xxx| 国产mv免费观看入口亚洲| 久久视频免费观看| 国产精自产拍久久久久久蜜| 亚洲福利在线看| 性色av一区二区咪爱| 在线观看日韩专区| 亚洲视频视频在线| 色婷婷综合久久久久| 国产视频精品一区二区三区| 91精品久久久久久久| 18久久久久久| 欧美日韩高清区| xxxxx成人.com| 国产亚洲精品久久久久久| 亚洲视频在线观看视频| 日韩男女性生活视频| 2018国产精品视频| 国产精品久久久久7777婷婷| 日韩中文字幕免费视频| 国产精品福利小视频| 狠狠躁夜夜躁人人爽天天天天97| 日韩av中文在线| 日韩欧美在线中文字幕| 日韩av电影在线免费播放| 精品女厕一区二区三区| 日韩精品在线免费| yellow中文字幕久久| 日韩精品中文字| 国产综合在线观看视频| 精品少妇一区二区30p| 欧美激情欧美激情| 欧美激情喷水视频| 国产精品国产亚洲伊人久久| 91精品国产高清|