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,香蕉‘);

 

时间: 2024-10-11 07:51:01

Oracle函数--合并,替换,拼接,截取,查找的相关文章

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate)的使用 ② 判断字符串中是否含有汉字 ③ substr和instr的联合使用 ④

linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$

linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$

Oracle函数-高阶篇

下面整理了部分oracle函数-高阶篇: 1. CATSTR    举例:SELECT CATSTR(COLUMN_NAME) NAME_LIST FROM DBA_TAB_COLUMNS WHERE TRIM(TABLE_NAME) = 'T_RZ_DKDATA'  --查询出的结果在一个列中2. INSTR() 检索字符串函数:匹配则返回首次检索的位置的索引值(从1开始),值>0,否则返回值=0    举例:SELECT * FROM USER_TABLES WHERE INSTR(TABL

ORACLE函数之单行字符函数

 1.           ASCII(C) 说明:返回C的首字符在ASCII码中对应的十进制 举例: SQL>SELECT ASCII('A') A,ASCII('a') B,ASCII('0') C,ASCII(' ') D FROM DUAL; A         B          C         D -------------------- ---------- ---------- 65        97         48        32 2.         C

oracle列合并

在许多场合,我们会需要用到oracle列合并,oracle提供了一些方法用于把某列的多行数据合并成一行. 一.10G以前使用WMSYS.WM_CONCAT wmsys.wm_concat将字段的值用","来隔开. select id,wm_concat(name) from tab_name group by id; 二.sys_connect_by_path sys_connect_by_path(字段名, 2个字段之间的连接符号),这里的连接符号不要使用逗号,oracle会报错,如

oracle 函数学习 Oracle10g学习系列(7)

Oracle函数有字符函数.数学函数.日期函数和转换函数.我只了解了字符函数和数学函数. 一.字符函数: lower(char)  将字符串转化为小写的格式 SQL> select lower(ename),ename from emp; LOWER(ENAME) ENAME ------------ ---------- smith        SMITH allen        ALLEN ward         WARD upper(char)  将字符串转化为大写的格式 SQL>

Oracle与MySQL字符串拼接

一.MySQL 在java中我们通常用加号"+"来实现字符串的拼接,MySQL中也可以使用"+"来实现,比如: 先加入测试数据 CREATE TABLE test( id INT, name VARCHAR(10), score FLOAT ); INSERT INTO test VALUES(1,'zhang',98); INSERT INTO test VALUES(2,'li',95); Demo1 SELECT NAME+'hello' FROM test;

ORACLE函数之单行数字函数

 1.           ABS(X) 返回X的绝对值 SQL>SELECT ABS(-1) A,ABS(1) B,ABS(0) C FROM DUAL; A          B          C -------------------- ---------- 1          1          0 2.          ACOS(X) 返回X的反余弦值 SQL>SELECT ACOS(0) A,ACOS(0.5) B,ACOS(1) C FROM DUAL; A