`
ronon
  • 浏览: 187041 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

SQLServer2008 关于while循环

 
阅读更多

有这样一个表tbl

id  code name

11   a      aa/bb/cc

22   b      ee/rr/tt

 

 

需要将name段根据‘/’拆分开来,变成新的数据行

即:

id  code  name

11   a       aa

11   a       bb

......以下省略.....

 

先给该表加上序号,存入临时表

select ROW_NUMBER()OVER(ORDER BY T.code desc) 序号,* into #temp from tbl

 

--创建一个带有固定列的临时表

create table #temp2
(
  ID int,
  code varchar(50),
  name varchar(50)

)

 

--使用while循环

declare @name varchar(200)
declare @count int
declare @i int
select @count=COUNT(*) from #temp
set @i=1
while(@i<
=@count)
begin
   --逐行判断
   select @name=t.Name from #temp t where t.序号
=@i
   while(CHARINDEX('/',@name,1)!=0)
   begin
     insert into #temp2 select t.id,t.code,SUBSTRING(@name,1,CHARINDEX('/',@name,1)-1) from #temp t where t.序号
=@i
    
     set @name3=SUBSTRING(@name,CHARINDEX('/',@name,1)+1,LEN(@name)-len(SUBSTRING(@name,1,CHARINDEX('/',@name,1)))) 
   end
  
   if(CHARINDEX('/',@name,1)=0)
   begin
     insert into #temp2 select t.id,t.code,@name from #temp t where t.序号=@i
   end
   set @i=@i+1
end

 

select * from #temp2 

 

注意:

insert into #temp from XX      只能往已经存在的表里插入值

select * into #temp   可以往未创建的表里添加值

 

 

分享到:
评论
1 楼 ningy1009 2014-11-18  
很不错,学习了

相关推荐

    while循环语句 sql server

    while循环语句 sql server

    sql-while循环

    sqlserver算法中常用的一个语法while循环,和if条件语句and进行判断判断

    SQL 变量日期while循环.sql

    日期变量 while循环变量 输入格式为:201801 201802 201803 201804 201805 201806 201807 201809 201810 201811 201812 201901 201902……

    SQL Server 2008编程入门经典(第3版)

    第1章 RDBMS基础:SQLServer数据库的构成 1.1 数据库对象概述 1.1.1 数据库对象 1.1.2 事务日志 1.1.3 最基本的数据库对象:表 1.1.4 文件组 1.1.5 数据库关系图 1.1.6 视图 1.1.7 存储过程 1.1.8 用户自定义函数 ...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    11.5.3 用WHILE语句进行循环 11.5.4 WAITOR语句 11.5.5 TRY/CATCH块 11.6 本章小结 11.7 练习 第12章 存储过程 12.1 创建存储过程:基本语法 12.2 使用ALTER修改存储过程 12.3 删除存储过程 12.4 参数化 12.5 通过...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    11.5.3 用WHILE语句进行循环 11.5.4 WAITOR语句 11.5.5 TRY/CATCH块 11.6 本章小结 11.7 练习 第12章 存储过程 12.1 创建存储过程:基本语法 12.2 使用ALTER修改存储过程 12.3 删除存储过程 12.4 参数化 12.5 通过...

    sqlserver自定义函数

    --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。 return substring(@str,@start,@location-@start) END select ...

    while的简单循环

    while的简单循环,希望可以对初级学习者有所帮助

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    10.8 使用MIN或MAX函数的While循环 10.9 属性管理 10.10 小结 10.11 练习 第11章 与SQL Server环境的交互 11.1 OLE Automation对象的执行 11.1.1 sp-OACreat 11.1.2 sp-OAMetho 11.1.3 sp-OASetPropert 11.1.4 sp_...

    SQLServer2000高级编程技术(part02)-想学存储过程 SQL编程 务必要看

    10.8 使用MIN或MAX函数的While循环 10.9 属性管理 10.10 小结 10.11 练习 第11章 与SQL Server环境的交互 11.1 OLE Automation对象的执行 11.1.1 sp-OACreat 11.1.2 sp-OAMetho 11.1.3 sp-OASetPropert 11.1.4 sp_...

    如何在SQL SERVER 2005存储过程中,使用循环语句

     DECLARE @userId varchar(50) DECLARE @count int SET @count = 0 SELECT @count = count(*) FROM UserService_User WHERE Account like ‘1%’ WHILE @count &gt; 0 BEGIN SELECT @userId = Id FROM ...

    SQL Server实现将特定字符串拆分并进行插入操作的方法

    本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法。分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) &gt; 0 Begin Set @idx = Charindex(',', @...

    SQL Server数据复制到的Access两步走

    我们今天主要向大家讲述的是把SQL Server数据复制到的Access数据库中的实际操作步骤,把SQL Server数据库中的某些数据复制到的Access数据库中,其表的主要结构是相同的,不要提用openrowset,因为Access文件和SQL ...

    黄淮学院2010学年第二学期SQL server期末考试

    在WHILE循环语句中,如果循环体语句条数多于一条,必须使用_________。 A、 BEGIN……END B、 CASE……END C、 IF…………THEN D、 GOTO SELECT查询中,要把结果中的行按照某一列的值进行排序,所用到的子句是____...

    MS SQL Server游标(CURSOR)的学习使用

    使用MS SQL Server这样久,游标一直没有使用过。以前都是使用WHILE循环加临时表来实现。刚刚联系个示例了解到游标概念与语法

    数据库设计和高级查询课程课件(SQL Server版)

    chapter3\理论部分\源代码\SG3-Source\while循环.sql chapter3\理论部分\源代码\SG3-Source\全局变量和输出语句.sql chapter3\理论部分\源代码\SG3-Source\变量.sql chapter4 chapter4\上机部分 chapter4\上机部分\...

    SQL Server控制语句的基本应用

    BEGIN…END经常用在条件语句中,如IF…ELSE 或WHILE循环中。BEGIN…END语句可以嵌套使用。 2.判断语句(IF…ELSE)通常计算机是按顺序执行程序中的语句,但是在许多情况下,语句执行的顺序以及是否执行依赖于程序...

    精通SQL--结构化查询语言详解

    2.1.1 sql server的结构 21 2.1.2 数据库访问标准化接口—odbc 22 2.1.3 使用查询分析器执行sql语句 22 2.2 transact-sql 24 2.2.1 transact-sql 概述 24 2.2.2 transact-sql的主要组成 25 2.2.3 transact-sql...

Global site tag (gtag.js) - Google Analytics