Msg 4116, Level 15, State 1, Line 1
The function ‘ntile’ takes only a positive int or bigint expression as its input.
This error message appears when you try to call the NTILE function without providing a valid input expression.
The T-SQL statement can be parsed, but causes the error at runtime.
Errors of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. NTILE can only take integer expressions as input.
This error message was introduced with SQL Server 2005.
IF OBJECT_ID(‘tempdb..#t’) > 0
DROP TABLE #t
CREATE TABLE #t
INSERT INTO #t SELECT 10
SELECT NTILE(0) OVER(ORDER BY ID) AS rid, id
GROUP BY id
In the above example we try to call the NTILE function with a 0 as input expression. This raises the error.