select top 后面跟参数的方法

 

1、sql server2005以上可以直接加()就行。

 

DECLARE @number INT  SELECT @number=2 SELECT TOP (@number) * FROM dbo.[table]

strSql.Append(" SELECT top (@top) ");
            parameter.Add(DbParameters.CreateDbParameter("@top", 100));

2、拼凑字符串

DECLARE @number INT,@sql VARCHAR(500) SELECT @number=2 SET @sql='select top '+STR(@number)+' * from [User]' EXEC (@sql)

3、利用rownumber

1 DECLARE @number INT
2 SELECT @number=2
3 ;
4 WITH t AS(
5 SELECT *,ROW_NUMBER() OVER(ORDER BY Id) AS rowNumber FROM [User])
6 SELECT UserName,UserPwd FROM t WHERE t.rowNumber<=@number

注意:with as语句在批处理中,需要加;

posted @ 2023-03-20 15:41  qingjiawen  阅读(66)  评论(0编辑  收藏  举报