在SELECT中使用定义的变量导致错误的语法错误

时间:2013-11-29 17:50:32

标签: sql sql-server sql-server-2000

我已经声明了一个给我一个整数的变量:

假设变量的定义如下:

DECLARE @mynumber int;
SET @mynumber = 15;

现在我想在这样的查询中使用这个数字:

SELECT TOP @mynumber * 
FROM mytable;

我收到一条错误消息:

  

@mynumber

附近的语法不正确

如何运行查询以使其像

一样运行
SELECT TOP 15 * FROM mytable;

1 个答案:

答案 0 :(得分:4)

您可以尝试这样:

SELECT TOP(@mynumber) * 
FROM mytable;

您可以查看Retrieving the First N Records from a SQL Query了解详情

对于像SQL Server 2000这样的旧版本,您可以像使用

一样使用ROWCOUNT
SET ROWCOUNT @mynumber
SELECT * FROM MyTable
SET ROWCOUNT 0