Skip to main content
2 of 2
Added documentation extract
Paul White
  • 90.3k
  • 30
  • 423
  • 663

It's converting your variables, because bigint is what OFFSET ... FETCH is expecting for those values. It probably makes sense to

DECLARE @paramPageNumber AS BIGINT,
         @paramPageSize AS BIGINT;

to avoid any possible performance issues this may cause.

Your id column in your table, however, should still be fine as an int.


From the documentation for TOP (Transact-SQL):

-- Syntax for SQL Server and Azure SQL Database  
[   
    TOP (expression) [PERCENT]  
    [ WITH TIES ]  
]  

##Arguments expression
Is the numeric expression that specifies the number of rows to be returned. expression is implicitly converted to a float value if PERCENT is specified; otherwise, it is converted to bigint.

RDFozz
  • 11.7k
  • 4
  • 24
  • 38