博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用SQL游标将1列中的数据分解成3列
阅读量:5147 次
发布时间:2019-06-13

本文共 1205 字,大约阅读时间需要 4 分钟。

SELECT Number,ApplyYear,CompanyNo,ContractNo FROM [Contract].[dbo].[Apply]
update dbo.Apply set ApplyYear = '',CompanyNo = '',ContractNo='' where Number != ''
declare  cursor1  cursor  for  
select Id,Number from [Contract].[dbo].[Apply] where Number != ''
declare  @id uniqueidentifier;
declare  @number nchar(20);  
declare  @year  nchar(10);
declare  @companyno  nchar(10);
declare  @contractno char(3);
 
open cursor1;
fetch next from cursor1 into @id,@number;
while @@FETCH_STATUS = 0
begin     
     select @year = [Value] from [dbo].[SplitString2](@number, '-', 1,1)
     select @companyno = [Value] from [dbo].[SplitString2](@number, '-', 1,2)
     select @contractno = [Value] from [dbo].[SplitString2](@number, '-', 1,3)  
     update [Contract].[dbo].[Apply]
     set ApplyYear = @year, CompanyNo = @companyno, ContractNo = CAST(@contractno as int) where  Id = @id;
     fetch next from cursor1  into @id, @number;
end
close cursor1;
deallocate cursor1;
------------------------
Number      ApplyYear    CompanyNo    ContractNo
2012-03-108    2012        03           108
2012-09-150    2012        09        150
2012-06-172    2012        06        172
------------------------
--sql中char/varchar 如何转化为int类型?
--cast(字段   as   int) 或者convert(int,字段)

转载于:https://www.cnblogs.com/zhangzhu/archive/2012/06/13/2547301.html

你可能感兴趣的文章
Java学习笔记--字符串和文件IO
查看>>
转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
查看>>
SQL语法(3)
查看>>
在js在添版本号
查看>>
sublime3
查看>>
Exception Type: IntegrityError 数据完整性错误
查看>>
Nuget:Newtonsoft.Json
查看>>
Hdu - 1002 - A + B Problem II
查看>>
每天CookBook之Python-003
查看>>
Android设置Gmail邮箱
查看>>
js编写时间选择框
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>