登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

上 善 若 水

物以类聚、人以群分、博以圈存

 
 
 

日志

 
 

常用SQL语句杂合  

2008-01-22 10:16:27|  分类: Datebase |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

一、得出表字段相加值
 set nocount on
 select [name] into #ColumnTable from syscolumns where id=object_id('索取字段的表名')
 exec('alter table #ColumnTable
 add QueryID int identity(1,1)')
 declare @num int
 select @num=count(*) from #ColumnTable--获取临时表行数
 declare @numstart int
 set @numstart=1--循环变量
 declare @varstring varchar(100)
 declare @varcharendstring nvarchar(4000)--最终字段
 set @varcharendstring=''
 while @numstart<=@num
 begin
  select @varstring=name from #columntable where queryid=@numstart
  set @varcharendstring=@varcharendstring+@varstring+','
  set @numstart=@numstart+1
 end
 select @varcharendstring
 drop table #ColumnTable

 

二、从物理文件里读取列值到数据库表中

Create table tmp_Test (ColumnName nvarchar(1000))
bulk insert tmp_Test from N'C:\ttt.txt'
Select * from tmp_Test
Drop table tmp_Test

 

三、把表里物定行的值转换为列

select zljyxm_xmbh,zljyxm_xmmc into #TempTableOne from zljyxm--(测试表名)
exec ('alter table #TempTableOne add QueryID int identity(1,1)')
declare @CountNumber int
declare @CountStart int
declare @TempColumnName varchar(200)
set @countstart=1
set @TempColumnName=''
select @countnumber=count(*) from #TempTableOne
while @countstart<=@countnumber
begin
 select @tempcolumnname='['+zljyxm_xmmc+']' from #TempTableOne where queryid=@countstart
 exec ('alter table #TempTableOne add '+@tempcolumnname+' float')
 set @countstart=@countstart+1
end
go
exec ('alter table #temptableone drop column zljyxm_xmbh,zljyxm_xmmc')
Truncate Table #temptableone
select * from #temptableone
drop table #temptableone

  评论这张
 
阅读(523)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018