网络编程
位置:首页>> 网络编程>> 数据库>> SQL server中字符串逗号分隔函数分享

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

作者:mdxy-dxy  发布时间:2024-01-12 17:20:22 

标签:字符串,逗号分隔,函数

继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字符串逗号分隔函数就介绍到这,大家可以参考一下。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com