Oracle函數集錦

來源:互聯網
上載者:User

標籤:blog   使用   ar   strong   資料   div   sp   on   c   

1、wmsys.wm_concat函數

將列轉為行。例子:

--表裡的資料如下SQL> select * from idtable;        ID NAME---------- ------------------------------        10 ab        10 bc        10 cd        20 hi        20 ij        20 mn--函數的執行效果SQL>select id,wmsys.wm_concat(name) name from idtable group by id;        ID NAME---------- --------------------------------------------------------------------------------        10 ab,bc,cd        20 hi,ij,mn    

即按id分組,把id相同的name列組合起來。

2、replace函數

replace(String str, String targetStr [, String aimStr]),將str字串中的targetStr字元,替換為aimStr字元。

如果不給出aimStr參數,則函數就會將str字串中的targetStr字串刪除。如:

select replace(‘hello‘, ‘h‘, ‘y‘) from dual;--輸出:yelloselect replace(‘hello‘, ‘h‘) from dual;--輸出:ello

3、“||”字串串連符

在Oracle中,如果想要將字串串連起來,那麼可以使用“||”符號。如:

select dummy from dual;--輸出:Xselect dummy || ‘Z‘ from dual;--輸出:XZ

4、decode函數

decode通常用來做判斷,其參數格式為:decode(條件,值1,翻譯值1,值2,翻譯值2,預設值),它等於我們編程中這樣的語句:

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

下面舉幾個例子:

select decode(‘1‘, ‘1‘, ‘one‘, ‘2‘, ‘two‘, ‘other‘) from dual;--1.輸出:oneselect decode(‘2‘, ‘1‘, ‘one‘, ‘2‘, ‘two‘, ‘other‘) from dual;--2.輸出:twoselect decode(‘1‘, ‘1‘, ‘one‘, ‘1‘, ‘two‘, ‘other‘) from dual;--3.輸出:one (遇到第一個值匹配之後,就不再進行匹配了,驗證了是IF..ELSE IF..ELSE的文法)

5、sign(n)函數

若n=0,則返回0。否則,n>0,則返回1。n<0,則返回-1。

select sign(12) from dual; --輸出:1

6、ceil(n) 

返回結果是大於等於輸入參數的最小整數

select ceil(10.5) from dual;--輸出:11

7、floor(n)

返回結果是小於等於輸入參數的最大整數

select floor(9.3) from dual;--輸出:9

8、round(n)

四捨五入

SELECT round(100.51515),round(99.2343) from dual;--輸出:101 99

9、TRUNC(n, integer)

截取數值的函數。integer為正整數,表示截取幾位小數。integer為負整數,則截取小數點左幾位。如果integer為小數,則函數會忽略小數部分。

比如當integer為3.25時,函數將會按3去截取。

select trunc(1222.23456,2), trunc(1222.23456, -1), trunc(1222.23456, 2.56) from dual;--1222.23   1220   1222.23

  

 

Oracle函數集錦

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.