我们日常开发过程中,非常常见的一种需求,
在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这种方式转变一下也是可以实现的,但是我这里有以前我一直使用的另外一种方式,也记录一下吧。
依照惯例,我们首先来看看效果。
调用:SELECT Id FROM [Fn_StringSplitToTable](‘1,12,36,65,58,56,DF‘,‘,‘)
具体函数如下:
-- =============================================
-- 调用:SELECT Id FROM [Fn_StringSplitToTable](‘1,12,36,65,58,56,DF‘,‘,‘)
-- Create date: <Create Date,,>
-- Description: 把用逗号分隔的字符串转换成表格数据
-- =============================================
CREATE FUNCTION [dbo].[Fn_StringSplitToTable]
(
@StringX varchar(MAX),
@Split nvarchar(10)
)
RETURNS
@IdsTable TABLE
(
[Id] nvarchar(200)
)
AS
BEGIN
DECLARE @Index int
DECLARE @LenIndex int
SET @LenIndex=LEN(@Split)
SET @Index=CHARINDEX(@Split,@StringX,1)
WHILE (@Index>=1)
BEGIN
IF(LEFT(@StringX,@Index-1) <> ‘‘)
INSERT INTO @IdsTable SELECT LTRIM(RTRIM(LEFT(@StringX,@Index-1)))
SET @StringX=RIGHT(@StringX,LEN(@StringX)-@Index-@LenIndex+1)
SET @Index=CHARINDEX(@Split,@StringX,1)
END
IF(@StringX<>‘‘) INSERT INTO @IdsTable SELECT LTRIM(RTRIM(@StringX))
RETURN
END
以上调用是用逗号隔开,如果您的字符串是用/号隔开,直接修改调用字符串就行了。
-- 调用:SELECT Id FROM [Fn_StringSplitToTable](‘1/12/36/65/58/56/DF‘,‘/‘)
把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据。
到此这篇list转字符串逗号隔开并加单引号(list转为字符串中间逗号隔开)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/47832.html