继SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数(数据大时不建议这样做)

例:查找姓名为“张三,李二” 的数据此时在数据库里就要对此参数做处理如图:

SQL server中字符串逗号分隔函数分享

函数代码如下

  CREATE FUNCTION [dbo].[fnSplitStr] (   @sText  NVARCHAR(Max),   @sDelim  CHAR(1)  )    RETURNS @retArray TABLE (   value VARCHAR(100)  )  AS  BEGIN   DECLARE     @posStart  BIGINT,    @posNext  BIGINT,    @valLen   BIGINT,    @sValue   NVARCHAR(100);     IF @sDelim IS NULL    BEGIN    IF LEN(@sText)>100 SET @sText = SUBSTRING(@sText, 1, 100)        INSERT @retArray (value)    VALUES (@sText);   END   ELSE   BEGIN    SET @posStart = 1;      WHILE @posStart <= LEN(@sText)    BEGIN     SET @posNext = CHARINDEX(@sDelim, @sText, @posStart);       IF @posNext <= 0       SET @valLen = LEN(@sText) - @posStart + 1;     ELSE      SET @valLen = @posNext - @posStart;       SET @sValue = SUBSTRING(@sText, @posStart, @valLen);     SET @posStart = @posStart + @valLen + 1;       IF LEN(@sValue) > 0     BEGIN      IF LEN(@sValue)>100 SET @sValue = SUBSTRING(@sValue, 1, 100)            INSERT @retArray (value)      VALUES (@sValue);     END    END   END   RETURN  END

好了,关于sql字符串逗号分隔函数就介绍到这,大家可以参考一下。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注