sql 把一列的数据按逗号分隔转换成多行

ALTER proc [dbo].[ModifyWkCashAccountNo]
as
begin
set xact_abort on
begin transaction
declare @errors int --错误数
--分列

WHILE (select COUNT(*) from ModifyWkContent where state=0 and results1=‘0000‘ and results2=‘0000‘ and results3=‘0000‘ and results4=‘0000‘ and results5=‘0000‘
and results6=‘0000‘ and results7=‘0000‘) >0
BEGIN

IF Object_id(‘Tempdb..#t‘) IS NOT NULL
DROP TABLE #t --如果有存在就删除临时表
set @[email protected][email protected]@error

IF Object_id(‘Tempdb..#t2‘) IS NOT NULL
DROP TABLE #t2 --如果有存在就删除临时表
set @[email protected][email protected]@error

select top 1 * into #t from ModifyWkContent where state=0 and results1=‘0000‘ and results2=‘0000‘ and results3=‘0000‘ and results4=‘0000‘ and results5=‘0000‘
and results6=‘0000‘ and results7=‘0000‘
set @[email protected][email protected]@error

declare @WLCInvestorApplyID_Messge nvarchar(max);
set @WLCInvestorApplyID_Messge =(select WLCInvestorApplyID_Messge from #t)
set @[email protected][email protected]@error

select * into #t2 from dbo.Split(@WLCInvestorApplyID_Messge,‘,‘)
set @[email protected][email protected]@error

insert into ModifyWkContent2 select OldCashAccountNo,NewCashAccountNo,t2.name,results1,results2,results3,results4,results5,results6,results7,state
from #t2 t2 , #t t1
set @[email protected][email protected]@error

update ModifyWkContent set state=1 where id in(select id from #t)
set @[email protected][email protected]@error

IF (select COUNT(*) from ModifyWkContent where state=0 and results1=‘0000‘ and results2=‘0000‘ and results3=‘0000‘ and results4=‘0000‘ and results5=‘0000‘
and results6=‘0000‘ and results7=‘0000‘) <=0
BREAK
ELSE
CONTINUE
END

if(@errors<>0)
begin
select ‘Error‘
rollback tran
--return;
end
else
begin
commit;
select ‘OK‘
end

end

时间: 2024-12-30 17:30:27

sql 把一列的数据按逗号分隔转换成多行的相关文章

GPS模块输出的NMEA数据ddmm.mmmm转换成dd.ddddd并在google Earth Pro中描点

GPS模块输出的数据是NMEA格式,其中GPGGA字段包含我们需要的经纬度信息. 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,12.2,M,19.7,M,,0000*1F 其中 4250.5589,S,14718.5084,E 就是经度和纬度数据,其格式是 纬度:ddmm.mmmmm(度分) 经度:dddmm.mmmmm(度分) google Earth Pro是免费.强大的地图工具,它支持导入包含经纬度的csv文件,用来描点,使

sql里将重复行数据合并为一行,数据用逗号分隔

DECLARE @T1 table ( UserID int , UserName nvarchar(50), CityName nvarchar(50) ); insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,UserName,CityName) values (2,'b','北京') insert into @T1 (UserID,UserName,CityName)

[原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据

  我们日常开发过程中,非常常见的一种需求,把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据. 在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这种方式转变一下也是可以实现的,但是我这里有以前我一直使用的另外一种方式,也记录一下吧. 依照惯例,我们首先来看看效果. 调用:SELECT Id FROM [Fn_StringSplitToTable]('1,12,36,65,58,56,DF',',') 具体函数如下: -- ==========

sql server:删除表数据,标识列Id从1开始

在sql server数据库上创建有自增列的数据表,每次删除表的数据后,自增主键都无法自动从1开始计数.用下面三个单词就可以轻松搞定: TRUNCATE  TABLE  TbName   --TbName是表名

SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)

需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多方案. 几种方案各有利弊,其中从SQL Server2012版本开始,微软的开始各种整合这些采集方案,力推扩展事件. 对于上述的数据采集只是一种实现手段,对于采集完数据的存储没有统一的规范,并且对于多服务器的数据采集及汇总没形成统一的规范. 本篇实现 1.通过SQL Server自带的数据采集器实现

sql处理带逗号的数据

这篇博客宗旨在于处理如何使用sql把带逗号的数据转换为表中的行以及将表中的行拼接成用逗号组成的数据. 具体代码如下功能写在注释里 --将有逗号的数据转换为一个表存储id加数据 GO DECLARE @Text VARCHAR(200) SET @Text = 'test1,test2' DECLARE @xml XML SET @xml = CONVERT(XML,'<a>'+ REPLACE(@Text,',','</a><a>')+'</a>') CRE

(转)SQL Server 2005的XML数据修改语言(XML DML) (转自MSDN)

SQL Server 2005的XML数据修改语言(XML DML) 发布日期: 2006-08-14 | 更新日期: 2006-08-14 作者:张洪举 Microsoft MVP 应用于:SQL Server 2005,XML 注:本文章中的内容需要相关的XML和XQuery知识 本页内容 1.insert 2.delete 3.replace 作为对XQuery语言的扩展,XML DML为XML数据操作提供了更大的灵活性,而不再仅仅是对XML数据进行一些查询操作.通过XML DML,用户可

SQL Server 基础 03 查询数据基础

查询数据 简单的查询 1 create table stu_info 2 ( 3 sno int not null 4 ,sname varchar(20) not null 5 ,sex varchar(2) not null 6 ,birth varchar(20) not null 7 ,email varchar(20) not null 8 ,telephone int not null 9 ,depart varchar(20) not null 10 ) 11 12 13 sele

将Sql查询语句获取的数据插入到List列表里面

Sql查询语句获取的数据是分格式的,我们还用SqlDataReader来做,然后用IDataReader来接收读取,以下是代码: //我想查询一个用户表的信息,该用户有姓名,密码,信息三列 //1.定义一个用户类型的List数组,userInfo类的代码在下方 List<userInfo> userInfo = new List<userInfo>(); //2.我们要读取查询语句的数据,并且保存了.这里我们将使用IDataReader语句 //数据库类的实例,类的代码在下方 DB