Oracle函数--合并,替换,拼接,截取,查找

Posted 米虫爱喝咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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函数--合并,替换,拼接,截取,查找的主要内容,如果未能解决你的问题,请参考以下文章

oracle字符串操作:拼接替换截取查找

MySQL字符串的拼接截取替换查找位置

MySQL字符串的拼接截取替换查找位置

MySQL字符串的拼接截取替换查找位置

Oracle中有字符串分割函数吗

oracle中查找一个字符串中某个字符的位置是啥函数