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逗号拆分行
转载来于:http://azwzsj.com/article/hjdoec.html