oracle 字符串拼接

作者&投稿:春哗 (若有异议请与网页底部的电邮联系)
oracle中字符串用什么连接~

和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。

比如执行下面的SQL语句:

SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee
WHERE FName IS NOT NULL


除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:
SELECT CONCAT('工号:',FNumber) FROM T_Employee

如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,比如执行下面的SQL语句:
SELECT CONCAT('年龄:',FAge) FROM T_Employee

与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的SQL语句在Oracle中是错误的:
SELECT CONCAT('工号为',FNumber,'的员工姓名为',FName) FROM T_Employee
WHERE FName IS NOT NULL
运行以后Oracle会报出下面的错误信息:
参数个数无效

如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用,上面的SQL可以如下改写:

代码如下:
SELECT CONCAT(CONCAT(CONCAT('工号为',FNumber),'的员工姓名为'),FName) FROM
T_Employee
WHERE FName IS NOT NULL

Oracle的字符串连接用 ||


select substr(t.name0,4) || '00' from table t

1、创建新的测试数据表,或者可以选择要测试的现有表数据。这只是测试字符串连接,不会影响数据内容。从T_BASE_PROVINCE t中选择*,其中t.id = 1。

2、首先介绍下一个||满足连接,||可以一次连接多个字符串,选择t.PROVINCEID ||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

3、由||连接除了字段和字段之间的字符串连接之外,还可以将方法连接到常量字符串选择'省:'||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

4、您还可以使用CONCAT函数连接到字符串,传入函数字符串1和字符串2,两个参数。参数的方式也支持常量字符串从T_BASE_PROVINCE t中选择CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。

5、如果要连接的字符串有两个以上的参数,如下例所示,则有4个字符串连接。运行后,测试发现异常,参数无效。从T_BASE_PROVINCE t中选择CONCAT('省ID:',t.PROVINCEID,'省:',t.PROVINCE),其中t.id = 1; -  ERROR ORA-00909:参数数量无效。

6、对于上述问题,如果连接参数大于2,则可以选择CONCAT嵌套方法。从T_BASE_PROVINCE t中选择CONCAT(CONCAT('省ID:',t.PROVINCEID),'省:'),t.PROVINCE),其中t.id = 1。



1、创建新的测试数据表,或者可以选择要测试的现有表数据。这只是测试字符串连接,不会影响数据内容。从T_BASE_PROVINCE t中选择*,其中t.id = 1。

2、首先介绍下一个||满足连接,||可以一次连接多个字符串,选择t.PROVINCEID ||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

3、由||连接除了字段和字段之间的字符串连接之外,还可以将方法连接到常量字符串选择'省:'||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

4、您还可以使用CONCAT函数连接到字符串,传入函数字符串1和字符串2,两个参数。参数的方式也支持常量字符串从T_BASE_PROVINCE t中选择CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。

5、如果要连接的字符串有两个以上的参数,如下例所示,则有4个字符串连接。运行后,测试发现异常,参数无效。从T_BASE_PROVINCE t中选择CONCAT('省ID:',t.PROVINCEID,'省:',t.PROVINCE),其中t.id = 1; -  ERROR ORA-00909:参数数量无效。

6、对于上述问题,如果连接参数大于2,则可以选择CONCAT嵌套方法。从T_BASE_PROVINCE t中选择CONCAT(CONCAT('省ID:',t.PROVINCEID),'省:'),t.PROVINCE),其中t.id = 1。



select t1.b || '-' || t2.b
from (select a, b from A where d = 1) t1,
(select a, replace(wm_concat(c), ',', '-') b
from A
start with d = 1
connect by b = prior c
group by a) t2
where t1.a = t2.a

select t1.b || t2.b
from t1 ,
(select a,sys_connect_by_path(c,'-') b
FROM T1
WHERE C='l'
START WITH b='x'
CONNECT BY PRIOR C = B) t2

where t1.a = t2.a and t1.b='x';

select t1.b || '-' || t2.b
from (select b from a where d = 1) t1,
(select replace(wm_concat(c), ',', '-') b
from a
start with d = 1
connect by b = prior c) t2


让胡路区19458998964: oracle sql怎么拼接多个字符串 -
巫荀地巴: select '第一个字符串' || '第二个字符串' || '第三个字符串' || '第四个字符串' || '第五个字符串' from dual; 这样写试一下,看看是否好用.

让胡路区19458998964: 怎样在Oracle中拼接字符串 -
巫荀地巴: 可以使用||进行拼接,例如: select 'abc'||'123' from dual 输出:abc123

让胡路区19458998964: oracle 怎么进行字符拼接 -
巫荀地巴: oracle 字符拼接用: || 例如: select col1 || col2 as xxxx from dual

让胡路区19458998964: Oracle怎么把多个字段的字段合成一个字符串 -
巫荀地巴: select FLH || '/0' || ZCH || '0' || FCH from ……

让胡路区19458998964: oracle 怎么将多行拼接字符串 -
巫荀地巴: select t1.b || '-' || t2.bfrom (select a, b from a where d = 1) t1,(select a, replace(wm_concat(c), ',', '-') bfrom astart with d = 1connect by b = prior cgroup by a) t2where t1.a = t2.a

让胡路区19458998964: oracle中字符串怎么相加 -
巫荀地巴: || 用两个竖线,连接字符串.

让胡路区19458998964: 怎样Oracle把多条记录的相同字段拼成一个字符串 -
巫荀地巴: select 别名 from( select row_number()over(order by lv desc) id,name from ( select level lv,replace(sys_connect_by_path(字段,','),',','') 别名from ( select name,row_number()over(order by 字段) id from 查询结果 ) connect by prior id = id-1 ))...

让胡路区19458998964: ORACLE是否有把2个字符串连接在一起的函数 -
巫荀地巴: 有以下两种方式1、用concat函数连接字符串;2、使用“||”进行字符串拼接.

让胡路区19458998964: oracle 将表中所有字段拼接成一个字符串给另一个表的一个字段
巫荀地巴: 拼接字段 select 字段1||字段2||字段3... from a; update b set X字段=(select 字段1||字段2||字段3... from a);

让胡路区19458998964: oracle 数据存储 字符串拼接 -
巫荀地巴: declare num number; beginselect TO_NUMBER(substr('d+1',2)) into num from dual;dbms_output.put_line(num);--dbms_output.put_line('明天'||replace(to_char(add_months(to_date(sysdate,'yyyymmdd'),0)+ num ),'-','')); end;声明一个变量,赋值再转换下就可以了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网