--创建存储过程
IF EXISTS (SELECT * FROM sysobjects WHERE name='GetSplitString' AND xtype='p')
DROP PROCEDURE dbo.GetSplitString
GO
CREATE PROCEDURE dbo.GetSplitString
@strID nvarchar(max) --以逗号隔开的字符串
,@tableName nvarchar(50) output --临时表
AS
BEGIN declare @totalLength int
declare @length int
declare @tag varchar(20)
declare @currentNumber int
set @tag=',' --分割符
set @totalLength=len(@strID) --如果字符串不为空,则判断是否是以逗号结尾,避免漏掉最后一个字符值
if @totalLength>0
begin
if right(@strID,1)<>','
select @strID=@strID+','
end set @length=charindex(@tag,@strID)
exec('insert into '+@tableName+'(code)values(left('''+@strID+''','+@length+'-1))')
set @strID=substring(@strID,@length+1,@totalLength)
set @currentNumber=1
while (@length>0)
begin
set @currentNumber=@currentNumber+1
set @length=charindex(@tag,@strID)
if(@length=0)
begin
break;
end
exec('insert into '+@tableName+'(code)values(left('''+@strID+''','+@length+'-1))')
set @strID=substring(@strID,@length+1,@totalLength)
end
END
GO --调用存错过程
IF EXISTS (SELECT * FROM sysobjects WHERE name='tbTemp' AND xtype='U')
DROP TABLE tbTemp
GO
create table tbTemp(code nvarchar(20))
go
exec GetSplitString 'baidu,google,yahoo,my,db,sqlserver,helloworld','tbTemp'
go
select * from tbTemp
go
IF EXISTS (SELECT * FROM sysobjects WHERE name='tbTemp' AND xtype='U')
DROP TABLE tbTemp
GO

sql分割以逗号隔开的字符串的更多相关文章

  1. 【java基础学习二】 数组相互转换,转成用逗号隔开的字符串等

    /** * int[],Integer[],List,List<Integer>,HashSet<Integer>相互转换,转成用逗号隔开的字符串 */ public stat ...

  2. sql 处理以字符隔开的字符串(类似split)

    sql 处理以字符隔开的字符串(类似split)的处理方法. CREATE PROCEDURE dbo.Vip_SendMails @userids varchar(MAX), ), ), @c va ...

  3. sql字段为逗号分开的字符串值的关联查询

    1.TREE表: [strID] [int] IDENTITY(1,1) NOT NULL,[strName] [nvarchar](50) NOT NULL, 2.SubInfo CREATE TA ...

  4. 某表中字段值存在多个Gid逗号分开 取值拆分每个gid SQL多个逗号隔开的取值

    存在值信息 表值函数实现: --实现split功能 的函数 拆分 逗号分开的多个值 ),)) )) as begin declare @i int set @SourceSql=rtrim(ltrim ...

  5. 【mysql】MySQL以逗号隔开的字符串查询方式整理

    1 单个值查询使用函数进行处理,FIND_IN_SET()实用 SELECT * FROM `by_info` WHERE FIND_IN_SET(',type_id); 2 多个值模糊查询,使用正则 ...

  6. javascript 字符数组转换成以逗号隔开的字符串

    var ids = [];angular.forEach(pulsarServers,function (server) { ids.push(server.id);});ids = ids.join ...

  7. 使用SQL如何把用逗号等字符隔开的字符串转换成列表(转)

    如何把用逗号等字符隔开的字符串转换成列表,下面依逗号分隔符为例: 比如有一个字符串,其值为:香港,张家港,北京,上海用SQL把这个字符串转换成列表的方法是: 1.方法一 WITH A AS (SELE ...

  8. SQL点滴3—一个简单的字符串分割函数

    原文:SQL点滴3-一个简单的字符串分割函数 偶然在电脑里看到以前保存的这个函数,是将一个单独字符串切分成一组字符串,这里分隔符是英文逗号“,”  遇到其他情况只要稍加修改就好了 CREATE FUN ...

  9. 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?

    100怎么变成100.00?

随机推荐

  1. git filename to long问题解决

    在.git/config 下面编辑 [core] longpaths = true

  2. cocos2d-x如何截屏并保存图片

    转自:http://blog.csdn.net/wolfking_2009/article/details/11022693 static void ScreenShoot() { CCSize si ...

  3. PL/pgSQL学习笔记之四

    http://www.postgresql.org/docs/9.1/static/plpgsql-structure.html 39.2. PL/pgSQL 的结构 PL/pgSQL是一种块式结构的 ...

  4. jQuery关于文字内容溢出用点点点(…)省略号表示

    1.jQuery限制字符字数的方法代码很简单,使用也很方便,如下: $(document).ready(function(){//限制字符个数$(“.zxx_text_overflow”).each( ...

  5. SQL Server2005中使用XML-数据类型、查询与修改

    SQL 2005引进了XML数据类型,可以直接将XML当作字符串直接存入该列. 这样可以不需要对它进行XML解析. USE AdventureWorks -- 创建一个送货排程表 CREATE TAB ...

  6. 【JavaScript】父子页面之间跨域通信的方法

    由于同源策略的限制,JavaScript跨域的问题,一直是一个比较棘手的问题,为了解决页面之间的跨域通信,大家煞费苦心,研究了各种跨域方案.之前也有小网同学分享过一篇“跨域,不再纠结” 开始照着尝试时 ...

  7. [AngularJS] Using the Angular scope $destroy event and method

    With Angular scopes, you have access to a $destroy event that can be used to watch $scope events. Th ...

  8. php-工厂模式(转)

    针对自己的不足与加深php的认识,选择用php来研究各种设计模式. 今天就看了设计模式的介绍,并学习了工厂模式,因为工厂模式比较简单,也比较常用.工厂模式的最主要作用就是对象创建的封装.简化创建对象操 ...

  9. 现有一些开源ESB总线的比較

    现有的开源ESB总线中,自从2003年第一个开源总线Mule出现后,如今已经是百花争鸣的景象了.如今我就对现有的各种开源ESB总线根据性能.可扩展性.资料文档完整程度以及整合难易程度等方面展开. 一. ...

  10. 使用 Team Foundation 版本控制命令

    使用 Team Foundation 版本控制命令 Visual Studio 2013   其他版本 Visual Studio 2010 Visual Studio 2008 Visual Stu ...