在用sql查询时,需要查询出固定条数的记录时,我们会用:
Select Top 50 * From Orders
但有时项目需求,不是查询出固定条数的记录时,而是需要通过计算得出需查询出多少条记录,这时我们可以这么做:
declare @i int
set @i=@num1 * @num2
set rowcount @i
Select * From Orders
set rowcount 0 --为0取消设置
或者:
declare @sql varchar(1000)
declare @i int
set @i=@num1 * @num2
set @sql = 'Select top ' + @i + ' * From Orders'
execute(@sql)