SQL parameters limitation

The IBM® DB2® SQL parser does not allow some uses of the '?' SQL parameter marker.

The following SQL expressions are not supported:

? IS [NOT] NULL
? operator ?
function( ? ) 

SQL instructions containing these expressions raise an error during the statement preparation.

Solution

Check that your BDL programs do not use these types of conditional expressions.

If you really need to test a BDL variable during the execution of a SQL statement, you must use the CAST() function for DB2 only:

WHERE CAST( ? AS INTEGER ) IS NULL

See the DB2 documentation for more details.