SQL?可能我误会了你的意思,你先把它一起读出来再用字符串解析不行吗比如:select number from table where *** 假设将读出的字符串赋值给字符串str 完后声明一个字符串数组 String num[]; num = str.split(","); 这就得到字符串数组了,再循环 for(int i = 0; i < num.length; i++) System.out.println(num[i]);
create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin
while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),'') end insert @t(col) values (@c) return end go
select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')
String str = "50032469,50008953";
String []strS = str.split(",");
String str = "50032469,50008953";
String []strS = str.split(",");for(int i=0;i<strS.length;i++){
String st = strS[i];
System.out.println(st);
}
假设将读出的字符串赋值给字符串str
完后声明一个字符串数组 String num[];
num = str.split(",");
这就得到字符串数组了,再循环
for(int i = 0; i < num.length; i++)
System.out.println(num[i]);
oracle的话,用REGEXP_SUBSTR函数,参见:
http://download.oracle.com/docs/cd/B13789_01/server.101/b10759/functions116.htm
returns @t table(col varchar(20))
as
begin
while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go
select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')
drop function f_split
col
--------------------
dfkd
dfdkdf
dfdkf
dffjk
(所影响的行数为 4 行)