oracle分号怎么拆开 oracle逗号拆分行

ORACLE怎么把查询出来的结果集的每条记录的每一列用逗号分隔,一条记录完后用分号分隔

首先,看你是想导出成文本,还是直接插表里

成都创新互联-专业网站定制、快速模板网站建设、高性价比敦煌网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式敦煌网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖敦煌地区。费用合理售后完善,十多年实体公司更值得信赖。

要是导出的话,用spool就行

你那个试试,用下面三句

spool e:\log.txt; (当然随便放什么地方,起什么名,路径对了就行)

select bif_code||','||name||';' from bis_bif_init;

spool off;

然后你去路径哪里找那个log.txt,里面就是你说那格式的,这格式可以调整

你要想放表里也行中间那句可以换成

select 'insert into bis_bif_init( 新列名 ) values(' ||bif_code|| ',' || name || ') where xxx;' from bis_bif_init;

就是说格式自己定,''中想加啥加啥用||连起来就行。同样去找txt,格式就是你定的那样。

-------------------------------------------------------------------------------------------

这是一种txt的,还有一个,如果你想在这个表的新列里直接显示加逗号那个格式的,也可以。就不用txt了,下次直接导出该列就行。但需要在表里加个列

alter table BIS_BIF_INIT add xxx(新列名字) char(100) generated always as (bif_code||','||name);

然后表里就有这个拼好的列,可能字符会很多,定大点

------------------------------------------------------------------------------------

最后一种,直接建个视图得了,省事,就一句话

create view vie_bis_bif_init as bif_code||','||name||';' from bis_bif_init;

oracle 如何将一个字段内容拆分多行显示

用正则表达式,应该能解决你的问题

例子,供参考,具体稍作调整

select regexp_substr('01 a;02 b;03 c;04 d', '[^;]+', 1, level)

from dual

connect by level = regexp_count('01 a;02 b;03 c;04 d', '[^;]+')

oracle 我想把这个字段里面按/拆开,然后分组统计 如何实现呀

先在数据库里写一个 split 函数,然后

select s,count(s)

from

(select str_split (special_equipment,'/') s from table )

group by s

order by s

下面 是 split 函数 可以 试试, 但不一定适合,自己可以改改

CREATE OR REPLACE TYPE str_split_array IS TABLE OF VARCHAR2 (4000);

CREATE OR REPLACE FUNCTION str_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)

RETURN str_split_array

IS

j INT := 0;

i INT := 1;

len INT := 0;

len1 INT := 0;

str VARCHAR2 (4000);

split_array str_split_array := str_split_array ();

BEGIN

len := LENGTH (p_str);

len1 := LENGTH (p_delimiter);

WHILE j len

LOOP

j := INSTR (p_str, p_delimiter, i);

IF j = 0

THEN

j := len;

str := SUBSTR (p_str, i);

split_array.EXTEND;

split_array (split_array.COUNT) := str;

IF i = len

THEN

EXIT;

END IF;

ELSE

str := SUBSTR (p_str, i, j - i);

i := j + len1;

split_array.EXTEND;

split_array (split_array.COUNT) := str;

END IF;

END LOOP;

RETURN split_array;

END str_split;

/

INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1

oracle 想利用逗号来取前一部分的数据和后面的的数据分成两部分,想把

这个意思??

--截取至 第三个 分号位置,然后抽取第三个分号前面所有数据

SELECT substr('aaa;bbb;ccc;ddd;eee;fff;ggg;',1,INSTR('aaa;bbb;ccc;ddd;eee;fff;ggg;',';',1,3))

FROM dual;

--结果:

aaa;bbb;ccc;

Oracle根据分号截取字符串的问题

SELECT decode( nvl(LENGTH(REGEXP_REPLACE(REPLACE(department, ';', '@'), '[^@]+', '')),0) ,

0,department

1,substr(department, 1, instr(department, ';', 1) -1)

2,substr(department,instr(department, ';', 1,1)+1,instr(department, ';', 1,2) - instr(department, ';', 1,1)-1),

3,substr(department,instr(department, ';', 1,1)+1,instr(department, ';', 1,2) - instr(department, ';', 1,1)-1)

4,substr(department,instr(department, ';', 1,1)+1,instr(department, ';', 1,2) - instr(department, ';', 1,1)-1)

) from dual

oracle 插入字符串中包含分号括号怎么处理

定义字段类型为varchar2, 直接插入就可以了。

create table stringtest(

teststring varchar2(1000)

)

insert into stringtest values('var v=123; var b=123; if(v==b){ return false}');

分享题目:oracle分号怎么拆开 oracle逗号拆分行
文章分享:https://www.cdcxhl.com/article42/hjdoec.html

成都网站建设公司_创新互联,为您提供企业网站制作做网站手机网站建设微信小程序关键词优化响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设