sqlsql-serversql-server-2005

Dynamic SELECT TOP @var In SQL Server


How can I have a dynamic variable setting the amount of rows to return in SQL Server? Below is not valid syntax in SQL Server 2005+:

DECLARE @count int
SET @count = 20

SELECT TOP @count * FROM SomeTable

Solution

  • SELECT TOP (@count) * FROM SomeTable
    

    This will only work with SQL 2005+