`
ronon
  • 浏览: 192907 次
  • 性别: 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

    Inside Microsoft SQL Server 2008 T-SQL Programming.pdf

    ### 关于《Inside Microsoft SQL Server 2008 T-SQL Programming》的知识点解析 #### 一、SQL Server 2008概述 《Inside Microsoft SQL Server 2008 T-SQL Programming》这本书深入地介绍了SQL Server 2008的各项...

    sql-while循环

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

    Inside Microsoft SQL Server 2008 T-SQL Programming

    《Inside Microsoft SQL Server 2008 T-SQL Programming》这本书深入探讨了SQL Server 2008中的T-SQL编程技术,这是SQL Server数据库管理与开发的核心语言。T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的...

    SQL SERVER 2008 T-SQL 基础

    3. **流程控制**:T-SQL支持流程控制语句,如IF-ELSE条件语句、WHILE循环和CASE表达式,使得在存储过程中可以实现逻辑判断和循环操作。 4. **存储过程**:存储过程是预编译的T-SQL代码集合,可以包含多个SQL语句和...

    Microsoft SQL Server 2008 T-SQL Fundamentals

    《Microsoft SQL Server 2008 T-SQL Fundamentals》是一本专为SQL Server初学者设计的教程,它深入浅出地介绍了Transact-SQL(T-SQL)的基础知识。T-SQL是SQL Server中用于数据查询、更新、操作和编程的主要语言。...

    SQLServer2008技术内幕:T-SQL查询

    《SQLServer2008技术内幕:T-SQL查询》这本书深入探讨了SQL Server 2008中的Transact-SQL(T-SQL)查询语言,这是SQL Server数据库管理系统的核心部分,用于数据检索、更新、插入和删除。T-SQL不仅包含标准的SQL语法...

    microsoft sql server 2008技术内幕 t-sql语言基础

    6. **流程控制语句**:如IF-ELSE、WHILE、BEGIN-END块,用于在T-SQL中实现条件分支和循环逻辑。 7. **存储过程和函数**:存储过程是预编译的T-SQL代码集合,可重复使用并提高性能。函数则返回一个值,可以被其他...

    SQL 变量日期while循环.sql

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

    Microsoft SQL SERVER 2008技术内幕 T-SQL查询

    4. **T-SQL流程控制**:阐述IF...ELSE、CASE表达式、WHILE循环、BEGIN...END块等流程控制结构,以及如何利用DECLARE、SET、SELECT进行变量声明和赋值。 5. **存储过程与函数**:详述存储过程的创建、调用和管理,...

    SQl Server 中的循环 跨数据库导数据为例

    首先,我们要理解SQL Server中的两种主要循环结构:WHILE循环和FOR循环。WHILE循环基于一个条件进行,只要条件为真,就会持续执行循环体内的语句。而FOR循环通常用于已知迭代次数的情况,如遍历一定范围的数字。 在...

    SQL Server 2008编程语言精粹

    《SQL Server 2008编程语言精粹》是一本深入探讨SQL Server 2008编程技术的著作,旨在帮助读者掌握SQL Server 2008的核心编程技能。本书涵盖了SQL语言的基础知识,以及如何在实际环境中运用这些知识进行数据库编程。...

    MS.SQL.Server.2008.技术内幕:T-SQL.查询.rar

    5. **T-SQL流程控制**:如IF...ELSE、WHILE循环、BEGIN...END块,以及如何创建和执行存储过程和函数。 6. **数据修改**:INSERT、UPDATE和DELETE语句的使用,包括批量插入、条件更新和删除操作。 7. **游标**:...

    SQL SERVER 2008 Business Intelligence

    在SQL Server 2008 Business Intelligence中,数据处理是一个关键环节,这通常涉及到数据转换、清洗和加载到数据仓库的过程。在这个环境中,SSIS(SQL Server Integration Services)扮演着重要角色,它提供了灵活的...

    PostgreSQL_与_MS_SQLServer比较

    - 在 **MS SQL Server** 中,循环结构主要使用 `WHILE` 和 `FOR` 循环。而在 **PostgreSQL** 中,除了支持这些结构外,还提供了 `LOOP` 和 `FOR` 循环结构,后者用于迭代集合或数组。 #### 存储过程和函数 - **创建...

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    -- 使用WHILE循环和ROWCOUNT WHILE EXISTS (SELECT [id] FROM @temp) BEGIN SET ROWCOUNT 1; SELECT @tempId = [id], @tempName = [Name] FROM @temp; SET ROWCOUNT 0; -- 打印数据 PRINT 'Name:—-' + @...

    Java程序通过JDBC连接SQLServer2000数据库全解.doc

    ### Java程序通过JDBC连接SQLServer2000数据库全解 #### 一、环境搭建与配置 在深入了解如何利用Java程序通过JDBC连接SQLServer2000之前,我们首先需要确保具备以下条件: 1. **安装SQL Server 2000**: 首先需要...

    sqlserver学习资料

    理解T-SQL中的BEGIN/END、IF/ELSE、WHILE循环、TRY/CATCH异常处理等,对于编写存储过程和触发器至关重要。 4. **数据库设计**:学习如何设计实体关系模型(ER图),创建表结构,理解主键、外键、索引等概念,以及...

    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 用户自定义函数 ...

Global site tag (gtag.js) - Google Analytics