读书人

T-SQL中 ,Top n中 的 n 能不能用参数解

发布时间: 2012-01-06 22:55:18 作者: rapoo

T-SQL中 ,Top n中 的 n 能不能用参数
请问
declare @TopN int
select @TopN = 5
select top @TopN * from table1
这样写报错 应该怎么写

[解决办法]
declare @TopN int, @sql varchar(8000)
select @TopN = 5

set @sql = 'select top ' + cast(@TopN as varchar(10)) + ' * from table1 '

exec (@sql)

[解决办法]
--SQL 2005可以直接用

select top (@n) * from 表名

[解决办法]
declare @TopN int
select @TopN = 5
exec ( 'select top ' + @TopN + ' * from table1 ')
go


declare @TopN int
select @TopN = 5
--测试
exec ( 'select top ' + @TopN + ' * from sysobjects ')
go
[解决办法]
declare @TopN int
select @TopN = 5
Exec ( 'select top '+cast(@TopN as varchar)+ ' * from table1 ')

读书人网 >SQL Server

热点推荐