Oracle函數--合並,替換,拼接,截取,查找
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函數--合並,替換,拼接,截取,查找