最佳解决方案
可以创建以下函数实现:
USE [test_db] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[protoData](@Items varchar(1000),@importMels varchar(1000)) RETURNS int AS BEGIN DECLARE @val varchar(20),@check varchar(50),@v int --待处理拼接字符串 --开始处理 SET @v=0 SET @Items=@Items+',' --必须追加“,”否则最后一个无法输出 DECLARE @ItemIndex INT=CHARINDEX(',',@Items) WHILE(@Items!=',' AND @ItemIndex>0)--拆分字符串,循环输出 BEGIN set @val=(LEFT(@Items,@ItemIndex-1)) SET @Items=RIGHT(@Items,LEN(@Items)-@ItemIndex) SET @ItemIndex=CHARINDEX(',',@Items) set @check=(select charindex(@val,@importMels)) if @check > 0 begin set @v=@v+1 end END return @v END GO