网站建设知识

我们将想法与焦点与您一起共享

当前位置:深圳网站建设 > 网站建设知识> SQL Server实现Split函数将字符串分隔转换成数据表

SQL Server实现Split函数将字符串分隔转换成数据表

2015-1-23 14:21:08 独占网络 网站建设知识
需求
C#语言中有内置的字符串函数Split()可以轻松实现分隔将类似 1,2,3,4 的字符串变成数组,然后进行处理,但是SQL Server默认没有这种内置的支持。

实现
需要通过自定义函数来实现,思路就是创建表值函数,返回一个分隔后的数据表,然后查询这个返回的表即可。

代码如下
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON

GO

ALTER FUNCTION [dbo].[SplitToTable_Func]

  (

      @SplitString varchar(max),

      @Separator nvarchar(10)=' '

  )

 RETURNS @SplitStringsTable TABLE

 (

  [id] int identity(1,1),

  [value] varchar(max)

 )

 AS

 BEGIN

    IF @SplitString<>''

    BEGIN

     DECLARE @CurrentIndex int

     DECLARE @NextIndex int

     DECLARE @ReturnText varchar(max)

     SELECT @CurrentIndex=1

     WHILE(@CurrentIndex<=len(@SplitString)+1)

         BEGIN

             SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex)

             IF(@NextIndex=0 OR @NextIndex IS NULL)

                 SELECT @NextIndex=len(@SplitString)+1

                 SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex)

                 INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText)

                 SELECT @CurrentIndex=@NextIndex+1

             END

    END

    RETURN

 END

调用方法
SELECT * FROM dbo.SplitToTable_Func('1,2,3,4',',')
始终专注高端网站建设服务 网站建设案例服务方案联系

联系我们

135-3000-5572
151-1257-9390

地址:深圳市龙岗区横岗街道联旺大厦5楼

邮箱:chenmh@sz886.com

我们的优势

12年建站服务经验自主开发后台CMS开发项目不外包无隐形收费

服务198家上市企业服务行业龙头超过70家 营销型网站建设完备的项目流程管理体系网页设计与网站开发技术并重

关于独占网络

十多年来,凭借对设计的深刻理解,对互联网营销趋势的敏锐洞察,独占网络不断修正服务导向,完善创作品格,始终注重专业探索,为所有合作企业机构全力以赴,确保网站的视觉体验与营销转化能力。

我们是一群对互联网抱有执着信念的技术控。从2012年到现在,公司从未建过强大的营销团队,却凭着作品与服务不断保持增长,做到了"桃李不言,下自成蹊。" 我们坚信:每个客户都是一条渠道,每个案例都是一个广告,为企业插上翅膀,助力企业转型升级,我们已做好准备。

专业团队为您提供深圳网站建设、深圳网站制作、深圳营销型网站建设、外贸网站建设等服务,深圳建网站就找独占网络 | 12年专注网站建设

深圳市独占网络科技有限公司 |备案号:粤ICP备15007128| Copyright 2023,ALL Rights Reserved www.sz886.com | Copyright 2023版权所有
Hi,Are you ready? 如果您有意向
请于我们取得联系。

有一个互联网项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打电话,让我们听到你的声音!

独占-整合互联网营销

地址:深圳市龙岗区横岗地铁D出口联旺大厦5楼
大客户专线:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我们为您提供什么服务?