1. 程式人生 > >Oracle函數--合並,替換,拼接,截取,查找

Oracle函數--合並,替換,拼接,截取,查找

查詢 har where 截取字符串 長度 .cn concat 嵌套 字段

1.合並函數 wm_concat(column)
wm_concat(列名),該函數可以把列值以“,”號分隔起來,並顯示成一行。如果列值是中文的,則選擇另一種方式: wm_concat(to_char(列名))

例如下面例子:

技術分享

執行下面SQL:select id,wm_concat(to_char(name)) name from testTable group by id; 可得到下面結果

技術分享

2.替換函數 replace(原字段,“原字段舊內容“,“原字段新內容“,)

執行下面SQL:select id,name,replace(num,‘10‘,‘5‘) num0 from testTable ; 可得到下面結果

技術分享

3.拼接字符串函數concat(字串1, 字串2

對於字符串拼接,每一種資料庫都有戲相應方法-----MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: +

CONCAT() 的語法如下:CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。但是,Oracle的CONCAT()只允許兩個參數,如要拼接多個參數則嵌套使用concat可實現,或者可以使用“||”來拼接 !!!

執行下面SQL:1)select name || ‘(‘ || num || ‘斤)‘ as str from testTable ;

2)select concat(name, ‘(‘ || num || ‘斤)‘) as str from testTable ;可得到下面結果

技術分享

4.截取字符串函數substr(字符串,截取開始位置,截取長度)

執行下面SQL: select substr(name,0,1) str from testTable; 可得到下面結果

技術分享

5.查找函數INSTR(string,subString,position,ocurrence)查找字符串位置

該函數可以用於模糊查詢以及判斷包含關系:

例如:1) select id,name ,num from testTable where instr(name,‘香蕉‘)>0;

等同於 select id,name ,num from testTable where name like ‘%香蕉%‘;

2) select id,name ,num from testTable where instr(‘123,香蕉‘,name)>0;

等同於 select id,name ,num from testTable where name in (‘123,香蕉‘);

Oracle函數--合並,替換,拼接,截取,查找