某表中字段值存在多个Gid逗号分开 取值拆分每个gid SQL多个逗号隔开的取值

2019/07/23 16:56
阅读数 61

存在值信息

表值函数实现:

--实现split功能 的函数  拆分 逗号分开的多个值
ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(Gid Nvarchar(4000))
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

关联表结合函数 实现:

SELECT A.Gid
 FROM   OrderDetail B
 CROSS APPLY dbo.f_split(B.MarketGids,',') AS A

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部