Create function [dbo].[fn_Distinct](@str varchar(1000))returns varchar(1000)asBEGIN declare @ret varchar(8000),@return varchar(8000) select @str = @str+',' while charindex(',',@str) > 0 begin select @ret = substring(@str,1,charindex(',',@str)-1) select @return = isnull(@return+',','')+@ret select @str = replace(@str,@ret+',','') end RETURN @returnENDGOSELECT dbo.[fn_Distinct]('主体1,主体1,主体2')
CREATE FUNCTION fn_Distinct(str varchar(1000)) RETURNS varchar(1000) BEGIN declare ret varchar(1000); declare returnstr varchar(1000); set str =concat( str,','); while locate(',',str) > 0 do set ret = substring(str,1,locate(',',str)-1), returnstr=concat( returnstr,','), returnstr = concat(ifnull( returnstr,''),ret), str = replace(str,concat( ret,','),''); end while; RETURN returnstr;end