存在值信息
表值函数实现:
--实现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