PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Avez-vous toujours besoin d'utiliser coalesce dans un WHERE s'il peut y avoir des valeurs nulles/vides dans les colonnes que vous comparez ?

Non. L'utilisation de COALESCE() empêche généralement l'utilisation des index. La syntaxe équivalente utilisant la logique booléenne devient lourde.

La meilleure solution est d'utiliser IS DISTINCT FROM :

where field1 is distinct from field2

En utilisant des opérateurs intégrés, il y a un meilleur changement que Postgres peut optimiser la requête. IS DISTINCT FROM est la syntaxe standard ANSI qui est expliquée dans la documentation .