91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle decode函數和 sign函數

發布時間:2020-07-22 03:57:16 來源:網絡 閱讀:525 作者:淺淺的涼意 欄目:關系型數據庫

流程控制函數 DECODE


decode()函數簡介:


主要作用:

將查詢結果翻譯成其他值(即以其他形式表現出來,以下舉例說明);


使用方法:

Select decode(columnname,值1,翻譯值1,值2,翻譯值2,…值n,翻譯值n,缺省值)

From talbename

Where …

其中columnname為要選擇的table中所定義的column,


含義解釋:

decode(條件,值1,翻譯值1,值2,翻譯值2,…值n,翻譯值n,缺省值)的理解如下:

if (條件==值1)

then    

return(翻譯值1)

elsif (條件==值2)

then    

return(翻譯值2)    

……

elsif (條件==值n)

then    

return(翻譯值n)

else    

return(缺省值)

end if


注:其中缺省值可以是你要選擇的column name 本身,也可以是你想定義的其他值,比如Other等;


舉例說明:

現定義一table名為output,其中定義兩個column分別為monthid(var型)和sale(number型),若sale值=1000時翻譯為D,=2000時翻譯為C,=3000時翻譯為B,=4000時翻譯為A,如是其他值則翻譯為Other;


SQL如下:


Select monthid,decode(sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output


特殊情況:

若只與一個值進行比較

Select monthid ,decode(sale, NULL,‘---’,sale) sale from output

另:decode中可使用其他函數,如nvl函數或sign()函數等;


比較大小函數 sign

函數語法:

sign(n)

函數說明:

取數字n的符號,大于0返回1,小于0返回-1,等于0返回0


示例:

1、select sign( 100 ),sign(- 100 ),sign( 0 ) from dual;

  SIGN(100) SIGN(-100) SIGN(0)

  ———- ———- ———-

  1 -1 0


2、a=10,b=20 

  則sign(a-b)返回-1


 

NVL(EXPR1,EXPR2)


若EXPR1是NULL,則返回EXPR2,否則返回EXPR1.

SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;

如果用到decode函數中就是

select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output

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

如果取較小值就是

select monthid,decode(sign(sale-6000),-1,sale,6000) from output即達到取較小值的目的。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双牌县| 信丰县| 临海市| 健康| 宿州市| 惠东县| 苗栗市| 南昌市| 南岸区| 汕头市| 隆回县| 丹阳市| 济宁市| 永泰县| 松溪县| 凤冈县| 闵行区| 曲松县| 平顺县| 红河县| 晋中市| 湘阴县| 田东县| 道孚县| 翁牛特旗| 莆田市| 信阳市| 吉首市| 治多县| 乐陵市| 沐川县| 太谷县| 游戏| 沙洋县| 夏邑县| 鄢陵县| 旌德县| 乌拉特后旗| 嘉善县| 唐山市| 赤壁市|