SQL SERVER 常用技巧
原创
©著作权归作者所有:来自51CTO博客作者无影雷藏的原创作品,请联系作者获取转载授权,否则将追究法律责任
循环遍历表
declare @count int=0,@R int=0
select row_number()over(order by id) as R,* into #t from Student
select @count=COUNT(0) from #t
while(@R<@count)
begin
set @R=@R+1
select * from #t where R=@R
end
drop table #t
删除重复数据
Delete T From
(Select Row_Number() Over(Partition By[Name] order By[ID]) As RowNumber,* From Student)T
Where T.RowNumber >1
字段拼接
SELECT STUFF((SELECT ',' + rtrim(name)
FROM Student
where name<>''
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),
1, 1, '') AS names