mysql中如何实现对含有逗号的字符串进行以逗号分隔,求大神!
mysql中怎么实现对含有逗号的字符串进行以逗号分隔,求大神!!!在线等
------解决思路----------------------
就正常的split 分割 。
------解决思路----------------------
为什么要在数据库层面处理,先处理好再操作数据库也可以?
------解决思路----------------------
顶楼上
先读出数据解析完后在插入数据库
------解决思路----------------------
使用SUBSTRING_INDEX 及CONCAT试试吧
------解决思路----------------------
刚好有
------解决思路----------------------
就正常的split 分割 。
------解决思路----------------------
为什么要在数据库层面处理,先处理好再操作数据库也可以?
------解决思路----------------------
顶楼上
先读出数据解析完后在插入数据库
------解决思路----------------------
使用SUBSTRING_INDEX 及CONCAT试试吧
------解决思路----------------------
刚好有
CREATE OR REPLACE
FUNCTION GetSubStr( --定义函数(此函数完成字符串拆分功能):
str in varchar2, --待分割的字符串
splitchar in varchar2 --分割标志
)
return split_tab
IS
restStr varchar2(2000) default GetSubStr.str;--剩余的字符串
thisStr varchar2(18);--取得的当前字符串
indexStr int;--临时存放分隔符在字符串中的位置
v SPLIT_TAB := SPLIT_TAB(); --返回结果
begin
--dbms_output.put_line(restStr);
while length(restStr) != 0
LOOP
<<top>>
indexStr := instr(restStr,splitchar); --从子串中取分隔符的第一个位置
if indexStr = 0 and length(restStr) != 0 then--在剩余的串中找不到分隔符
begin
v.extend;
v(v.count) := SPLIT_ARR(Reststr);
return v;
end;
end if;
if indexStr = 1 then---第一个字符便为分隔符,此时去掉分隔符
begin
restStr := substr(restStr,2);
goto top;
end;
end if;
if length(restStr) = 0 or restStr is null then
return v;
end if;
v.extend;
thisStr := substr(restStr,1,indexStr - 1); --取得当前的字符串
restStr := substr(restStr,indexStr + 1);---取剩余的字符串
v(v.count) := SPLIT_ARR(thisStr);
END LOOP;
return v;
end;