加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server中结果输出字符串怎样实现逗号分隔

发布时间:2023-06-01 10:53:56 所属栏目:MsSql教程 来源:
导读:这篇文章主要介绍“SQL Server中结果输出字符串如何实现逗号分隔”,有一些人在SQL Server中结果输出字符串如何实现逗号分隔的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有

这篇文章主要介绍“SQL Server中结果输出字符串如何实现逗号分隔”,有一些人在SQL Server中结果输出字符串如何实现逗号分隔的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。

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

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

函数代码如下

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

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章