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 ifPERCENT
is specified; otherwise, it is converted to bigint.