有这样一个表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 可以往未创建的表里添加值
相关推荐
while循环语句 sql server
### 关于《Inside Microsoft SQL Server 2008 T-SQL Programming》的知识点解析 #### 一、SQL Server 2008概述 《Inside Microsoft SQL Server 2008 T-SQL Programming》这本书深入地介绍了SQL Server 2008的各项...
sqlserver算法中常用的一个语法while循环,和if条件语句and进行判断判断
《Inside Microsoft SQL Server 2008 T-SQL Programming》这本书深入探讨了SQL Server 2008中的T-SQL编程技术,这是SQL Server数据库管理与开发的核心语言。T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的...
3. **流程控制**:T-SQL支持流程控制语句,如IF-ELSE条件语句、WHILE循环和CASE表达式,使得在存储过程中可以实现逻辑判断和循环操作。 4. **存储过程**:存储过程是预编译的T-SQL代码集合,可以包含多个SQL语句和...
《Microsoft SQL Server 2008 T-SQL Fundamentals》是一本专为SQL Server初学者设计的教程,它深入浅出地介绍了Transact-SQL(T-SQL)的基础知识。T-SQL是SQL Server中用于数据查询、更新、操作和编程的主要语言。...
《SQLServer2008技术内幕:T-SQL查询》这本书深入探讨了SQL Server 2008中的Transact-SQL(T-SQL)查询语言,这是SQL Server数据库管理系统的核心部分,用于数据检索、更新、插入和删除。T-SQL不仅包含标准的SQL语法...
6. **流程控制语句**:如IF-ELSE、WHILE、BEGIN-END块,用于在T-SQL中实现条件分支和循环逻辑。 7. **存储过程和函数**:存储过程是预编译的T-SQL代码集合,可重复使用并提高性能。函数则返回一个值,可以被其他...
日期变量 while循环变量 输入格式为:201801 201802 201803 201804 201805 201806 201807 201809 201810 201811 201812 201901 201902……
4. **T-SQL流程控制**:阐述IF...ELSE、CASE表达式、WHILE循环、BEGIN...END块等流程控制结构,以及如何利用DECLARE、SET、SELECT进行变量声明和赋值。 5. **存储过程与函数**:详述存储过程的创建、调用和管理,...
5. **T-SQL流程控制**:如IF...ELSE、WHILE循环、BEGIN...END块,以及如何创建和执行存储过程和函数。 6. **数据修改**:INSERT、UPDATE和DELETE语句的使用,包括批量插入、条件更新和删除操作。 7. **游标**:...
首先,我们要理解SQL Server中的两种主要循环结构:WHILE循环和FOR循环。WHILE循环基于一个条件进行,只要条件为真,就会持续执行循环体内的语句。而FOR循环通常用于已知迭代次数的情况,如遍历一定范围的数字。 在...
《SQL Server 2008编程语言精粹》是一本深入探讨SQL Server 2008编程技术的著作,旨在帮助读者掌握SQL Server 2008的核心编程技能。本书涵盖了SQL语言的基础知识,以及如何在实际环境中运用这些知识进行数据库编程。...
在SQL Server 2008 Business Intelligence中,数据处理是一个关键环节,这通常涉及到数据转换、清洗和加载到数据仓库的过程。在这个环境中,SSIS(SQL Server Integration Services)扮演着重要角色,它提供了灵活的...
- 在 **MS SQL Server** 中,循环结构主要使用 `WHILE` 和 `FOR` 循环。而在 **PostgreSQL** 中,除了支持这些结构外,还提供了 `LOOP` 和 `FOR` 循环结构,后者用于迭代集合或数组。 #### 存储过程和函数 - **创建...
-- 使用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数据库全解 #### 一、环境搭建与配置 在深入了解如何利用Java程序通过JDBC连接SQLServer2000之前,我们首先需要确保具备以下条件: 1. **安装SQL Server 2000**: 首先需要...
理解T-SQL中的BEGIN/END、IF/ELSE、WHILE循环、TRY/CATCH异常处理等,对于编写存储过程和触发器至关重要。 4. **数据库设计**:学习如何设计实体关系模型(ER图),创建表结构,理解主键、外键、索引等概念,以及...
它们可以接受参数,返回结果集,甚至可以包含控制流程语句,如IF-ELSE和WHILE循环。 4. **触发器**:SQL Server中的触发器是一种特殊的存储过程,它在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行...