SQL将一个表中的其中一个字段所有值以/分割取出。 5
我有一个表,其中某个字段下的值是;'XX/XX/XX'形式的字符串,我想将这个字段的所有值都取出,并以‘/’分割。获得一个数组形式的数据。怎么写SQL?...
我有一个表,其中某个字段下的值是;'XX/XX/XX'形式的字符串 , 我想将这个字段的所有值都取出,并以‘/’ 分割。获得一个数组形式的数据。怎么写SQL?
展开
若以下回答无法解决问题,邀请你更新回答
2个回答
2014-09-03
展开全部
定义一个函数
ALTER function f_splitstr
(
@SourceSql nvarchar(4000),
@StrSeprate nvarchar(10)
)
returns @temp table(F1 nvarchar(200))
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
insert @temp values(@SourceSql)
return
end
调用:
select * from f_splitstr('1,2,3,4',',')
输出:
F1
1
2
3
4
ALTER function f_splitstr
(
@SourceSql nvarchar(4000),
@StrSeprate nvarchar(10)
)
returns @temp table(F1 nvarchar(200))
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
insert @temp values(@SourceSql)
return
end
调用:
select * from f_splitstr('1,2,3,4',',')
输出:
F1
1
2
3
4
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
搜一下:SQL将一个表中的其中一个字段所有值以/分割取出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询