首页 新闻 赞助 找找看

截取字符串并获得值

0
悬赏园豆:20 [已解决问题] 解决于 2010-07-04 12:21

我们往数据库里面存了一组字符串

格式:838328,932934,48932,894328,

而且数的个数不确定,有可能是一组,也有可能是N多组

各位大牛帮帮忙,如何能得到所有组的值

因为还要根据每个值来查询,

小弟貌似分不多,不好意思哈

问题补充: N<5 业务上不会超过5条数据
麦光的主页 麦光 | 初学一级 | 园豆:160
提问于:2010-07-03 16:58
< >
分享
最佳答案
0

取出一个数组,如:string[] temps = 字符串.Split(',');

遍历temps就行了。

收获园豆:15
Astar | 高人七级 |园豆:40805 | 2010-07-03 17:16
注意取得的数组中的最后一个数据为 空字符串。(也没影响)
老虞 | 园豆:99 (初学一级) | 2010-07-04 00:31
其他回答(1)
0

如果是想在数据库中直接进行查询可以建立个自定义函数:

代码
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>''
insert @temp values(@SourceSql)
return
end


返回的是一个table,所以执行要用如下格式:select * from dbo.f_split('ABC:BC:C:D:E',':')

收获园豆:5
kyo-yo | 园豆:5587 (大侠五级) | 2010-07-03 19:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册