At least one of the arguments to COALESCE must be a typed NULL.

Error Message:
Msg 4127, Level 16, State 1, Line 1
At least one of the arguments to COALESCE must be a typed NULL.

Severity level:
16.

Description:
This error message appears when you try to call the COALESCE function with untyped NULL markers.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
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. At least one of the argument for COALESCE must be a typed NULL. Either via an explicit CAST or CONVERT or by a typed variable.

Versions:
All versions of SQL Server.

Example(s):
SELECT COALESCE(NULL,NULL)

Remarks:
In the above example we try to pass only untyped NULLs to the COALESCE function. This raises the error. In order to avoid the error, you can use one of the following workarounds:

SELECT COALESCE(NULL, CAST(NULL AS < any valid data type >))

or

DECLARE @a INT
SELECT COALESCE(NULL,@a)

In the latter case you can also substitute the variable @i of a column of a table.

]]>

Leave a comment

Your email address will not be published.