sql中一个分解字符串的实用函数(也可用于存储过程中的 in 查询)

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 06:23   11   0

分解函数:

create FUNCTION [dbo].[f_splitSTR](

@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(col varchar(100))
AS
BEGIN
DECLARE @splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END
INSERT @re VALUES(@s)
RETURN
END

GO

存储过程中用于 in 查询:

select @count=COUNT(GoodsId) from huo.Goods WITH(NOLOCK) where IsFlag=0 and IsShangJia=1 and Type=1 and GongHuoShangId=@GongHuoShangId and CHARINDEX(''+@Str+'',GoodsName)>0 and GoodsId not in (select col from f_splitSTR(@GoodsId,',')) @GoodsId为待分解的字符串,例如:1,2.3



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP