balajij8
Esteemed Contributor

The platform is aligning with standard SQL semantics (IS NULL etc) and you can follow it. To fix the queries returning zero rows on load, you need to explicitly evaluate for NULL before passing the parameter to any array-specific functions or IN clauses.

You can follow pattern given below instead

WHERE :my_parameter IS NULL 
   OR column_name IN (:my_parameter)

If you are applying this across multiple multi-select filters, ensure you wrap each condition in parentheses, so the OR conditions don't interfere with AND operators.

WHERE (:category IS NULL OR category_column IN (:category))
  AND (:region IS NULL OR region_column IN (:region))
  AND (:status IS NULL OR status_column IN (:status))

For a highly resilient approach, you can safely combine both checks in case the parameter occasionally resolves to an empty array depending on how a user interacts with the widget during a session.

WHERE :my_parameter IS NULL 
   OR SIZE(:my_parameter) = 0 
   OR column_name IN (:my_parameter)