oracle 如何將乙個欄位裡的值拆分為多個值顯示出來
1樓:莊生曉夢
直接使用拼接的方法來解決此問題。
如下參考:1.新的php檔案,如下所示。
2.宣告陣列變數,如下圖所示。
3.使用內爆函式將陣列連線到具有連線字元-的字串中。
4.輸出連線後的字串,如下圖所示。
6.用implode函式使陣列拼接成字串,連線符為?完成如下。
2樓:網友
with temp as
select name as text from a
select substr(text,instr(text,',',1,rn)+1,instr(text,',',1,rn+1)-instr(text,',',1,rn)-1) text from
select ','||',' text, from
select text,length(text)-length(replace(text,',',''))+1 rn from temp) t1,select rownum rn from all_objects where rownum <= (select max(length(text)-length(replace(text,',',''))+1) rn from temp)) t2
where >= order by text,rn
用這種方法可以處理name這一列,如果你想id、name都先顯示的話,就要寫成乙個函式來呼叫了。
3樓:網友
這個一條sql我沒實現過,原來專案中遇到過類似的需求,也是在網上找的,這麼解決的。
首先建立乙個type
create or replace type "ty_str_split" is table of varchar2 (4000);
然後建立乙個函式。
create or replace function fn_split (p_str in varchar2, p_delimiter in varchar2)
return ty_str_split
功能描述:用指定分隔符切割輸入的字串,返回一維陣列,每個陣列元素為乙個子串。
isj int := 0;
i int := 1;
len int := 0;
len1 int := 0;
str varchar2 (4000);
str_split ty_str_split := ty_str_split ()
beginlen := length (p_str);
len1 := length (p_delimiter);
while j < len
loopj := instr (p_str, p_delimiter, i);
if j = 0
thenj := len;
str := substr (p_str, i);
str_;str_split (str_ := str;
if i >= len
thenexit;
end if;
elsestr := substr (p_str, i, j - i);
i := j + len1;
str_;str_split (str_ := str;
end if;
end loop;
return str_split;
end fn_split;
然後使用查詢table函式。
select * from table (cast (fn_split ('a,b,c', ',') as ty_str_split )
可以達到類似的效果。
4樓:網友
我覺得這種儲存後展現方式違反資料庫設計正規化了。
5樓:網友
id 是主鍵麼?是主鍵能那麼整嗎?
oracle 如何將乙個欄位裡的值拆分為多個值顯示出來
6樓:惠企百科
直接使用拼接的方法來解決此問題。
如下參考:1.新的php檔案,如下掘伍賀所示。
2.宣告陣列變數,如下橘肆圖所示。
3.使用內爆函式將陣列連線到具有連線字元-的字串。
中。<>
4.輸出連線後的字串,如下圖所示。
<>6.用implode函式使陣列拼接成字串,連線符為?完成如下。
oracle中用sql求和問題,oracle 中用sql求和問題
select sum a as a,sum b as b,wmsys.wm concat c as c from table 先寫一個function,處理varchar欄位的,然後在sum 數字欄位 oracle 求和函式 oracle中連續求和分析函式為sum over 用法 select bd...
oracle怎麼查詢某月的資料,oracle怎麼查詢某一個月的資料
你好 這個查詢方式有很多 select from tablename where datepart mm,thedate datepart mm,getdate and datepart yy,thedate datepart yy,getdate 可以用以下方法查詢 select from tab...
oracle資料庫密碼多久過期,oracle資料庫密碼過期時間查詢?
預設密碼過期時間是180天。oracle資料庫密碼過期時間查詢?sqlplus sys password as sysdba 這個是作為管理員登陸 把oracle密碼預設天數修改為無限制 select from dba profiles where profile default and resou...