解决方案是使用ISO / ANSI标准-安全NULL
比较:
WHERE Column IS NOT DISTINCT FROM ?
WHERE Column = ? OR (Column IS NULL AND ? IS NULL)
如果您不愿意两次传递参数,则可以在FROM
子句中包含它:
. . .
FROM . . . CROSS JOIN
(SELECT ? as compColumn) params
WHERE (Column = params.compColumn0 or (Column IS NULL and params.compColumn IS NULL)