一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務器之家 - 數據庫 - Oracle - Oracle進階DECODE函數使用詳解

Oracle進階DECODE函數使用詳解

2022-01-20 20:01sdut菜鳥 Oracle

這篇文章介紹了Oracle進階DECODE函數的使用方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

DECODE含義

decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

這個是decode的表達式,具體的含義解釋為:

IF 條件=值1 THEN
    RETURN(翻譯值1)
ELSIF 條件=值2 THEN
    RETURN(翻譯值2)
    ......
ELSIF 條件=值n THEN
    RETURN(翻譯值n)
ELSE
    RETURN(缺省值)
END IF

DECODE的用法

這里主要說的就是decode的用法,在很多時候這個函數還是很有用的。

1.翻譯值

數據截圖:

Oracle進階DECODE函數使用詳解

需求:查詢出的數據,1表示男生,2表示女生

select t.id,
       t.name,
       t.age,
       decode(t.sex, "1", "男生", "2", "女生", "其他") as sex
  from STUDENT2 t

結果:

Oracle進階DECODE函數使用詳解

2.decode比較大小

說明:sign(value)函數會根據value的值為0,正數,負數,分別返回0,1,-1

數據:

Oracle進階DECODE函數使用詳解

需求:年齡在20以上的顯示20以上,20以下的顯示20以下,20的顯示正好20

select t.id,
       t.name,
       t.age,
       decode(sign(t.age - 20),
              1,
              "20以上",
              -1,
              "20以下",
              0,
              "正好20",
              "未知") as sex
  from STUDENT2 t

結果:

Oracle進階DECODE函數使用詳解

3.decode分段

數據暫無

需求:工資大于5000為高薪,工資介于3000到5000為中等,工資小于3000為底薪

select name,
       sal,
       decode(sign(sal - 5000),
              1,
              "高薪",
              0,
              "高薪",
              -1,
              decode(sign(sal - 3000), 1, "中等", 0, "中等", -1, "低薪")) as salname
  from person;

結果暫無

4.搜索字符串

數據:

Oracle進階DECODE函數使用詳解

需求:找到含有三的姓名

select t.id,
       decode(instr(t.name, "三"), 0, "姓名不含有三", "姓名含有三") as name,
       t.age,
       t.sex
  from STUDENT2 t

結果:

Oracle進階DECODE函數使用詳解

5.判斷是否為空

數據:

Oracle進階DECODE函數使用詳解

需求:性別為空顯示“暫無數據”,不為空原樣輸出

select t.id,
       t.name,
       t.age,
       decode(t.sex,NULL,"暫無數據",t.sex) as sex
  from STUDENT2 t

結果:

Oracle進階DECODE函數使用詳解

總結:decode在書寫sql的時候還是挺有用的,常用的應該是1和5了吧(我猜的,因為我就是經常用這兩種)

到此這篇關于Oracle進階DECODE函數使用詳解的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/sdut406/article/details/82795585

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色噜噜视频影院 | 男人看的网址 | 欧美一区二区三区免费观看视频 | 高h短篇辣肉各种姿势bl | 四虎b7s22c0m | 思思玖玖玖在线精品视频 | 色天天综合色天天碰 | 私人影院在线免费观看 | 九九热精品免费观看 | 蜜桃视频在线观看官网 | 日本96在线精品视频免费观看 | 999精品视频在线观看热6 | 成人一级黄色大片 | bt国产| 胸奶好大好紧好湿好爽 | 男老头澡堂gay老头456 | 精品国语对白精品自拍视 | 日本高清视频网站www | 牛人国产偷窥女洗浴在线观看 | 超级乱淫伦短篇小说做车 | 美女私人影院 | 99久久999久久久综合精品涩 | 污小说在线阅读 | 亚洲高清中文字幕 | 高清在线看 | 欧美专区在线播放 | 免费看日产一区二区三区 | 国产精品久久久久久久久99热 | 国产一区二区不卡视频 | 成人男女啪啪免费观看网站 | 91久久国产视频 | 色中文字幕 | 国产亚洲精品一区久久 | 国产精品第| julianann办公室| 亚洲电影不卡 | 99热久久这里只有精品6国产网 | 男人和女人日比 | 成人一区二区丝袜美腿 | 男人天堂影院 | 国产欧美精品一区二区三区四区 |