oracle分號怎么拆開 oracle逗號拆分行

ORACLE怎么把查詢出來的結(jié)果集的每條記錄的每一列用逗號分隔,一條記錄完后用分號分隔

首先,看你是想導(dǎo)出成文本,還是直接插表里

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比敦煌網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式敦煌網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋敦煌地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

要是導(dǎo)出的話,用spool就行

你那個試試,用下面三句

spool e:\log.txt; (當(dāng)然隨便放什么地方,起什么名,路徑對了就行)

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

spool off;

然后你去路徑哪里找那個log.txt,里面就是你說那格式的,這格式可以調(diào)整

你要想放表里也行中間那句可以換成

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

就是說格式自己定,''中想加啥加啥用||連起來就行。同樣去找txt,格式就是你定的那樣。

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

這是一種txt的,還有一個,如果你想在這個表的新列里直接顯示加逗號那個格式的,也可以。就不用txt了,下次直接導(dǎo)出該列就行。但需要在表里加個列

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

然后表里就有這個拼好的列,可能字符會很多,定大點(diǎn)

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

最后一種,直接建個視圖得了,省事,就一句話

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

oracle 如何將一個字段內(nèi)容拆分多行顯示

用正則表達(dá)式,應(yīng)該能解決你的問題

例子,供參考,具體稍作調(diào)整

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 我想把這個字段里面按/拆開,然后分組統(tǒng)計(jì) 如何實(shí)現(xiàn)呀

先在數(shù)據(jù)庫里寫一個 split 函數(shù),然后

select s,count(s)

from

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

group by s

order by s

下面 是 split 函數(shù) 可以 試試, 但不一定適合,自己可以改改

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) 在一個字符串中搜索指定的字符,返回發(fā)現(xiàn)指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的開始位置,默認(rèn)為1 J 出現(xiàn)的位置,默認(rèn)為1

oracle 想利用逗號來取前一部分的數(shù)據(jù)和后面的的數(shù)據(jù)分成兩部分,想把

這個意思??

--截取至 第三個 分號位置,然后抽取第三個分號前面所有數(shù)據(jù)

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

FROM dual;

--結(jié)果:

aaa;bbb;ccc;

Oracle根據(jù)分號截取字符串的問題

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://muchs.cn/article42/hjdoec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、微信小程序關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)