PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : PSQL » [SQL] Comparaison champ à champ avec une valeur potentiellement nulle » 18/11/2016 11:52:14

Finalement je viens de trouver la solution.
Pour comparer des champs qui peuvent être potentiellement null, il faut utiliser "is distinct from" et "is not distinct from".
Lien wiki : https://wiki.postgresql.org/wiki/Is_distinct_from.

#2 PSQL » [SQL] Comparaison champ à champ avec une valeur potentiellement nulle » 18/11/2016 11:31:22

yaka
Réponses : 1

Bonjour à tous,

Je débute en PostGreSQL (avant je bossais uniquement avec Oracle) et je viens de tomber sur quelque chose qui m'étonne.

Voici ma requête :
update faqir f set opennms_status = 'bad_leaf'
from ipinterface ii
inner join node n using(nodeid)
inner join assets a using(nodeid)
where ii.ipaddr=f.ip_admin
and f.hostname=n.nodesysname
and f.feuillet<>a.notifycategory;

L'idée est simplement de mettre à jour un statut dans une table dans le cas où la valeur du champ "feuillet" diffère de celle du champ "notifycategory".

La requête fonctionne très bien quand les deux champs ont une valeur (chaîne de caractères). En revanche, dans le cas où le champ "feuillet" est valorisé et le champ "notifycategory" est null, la comparaison (f.feuillet<>a.notifycategory) semble renvoyer false ...

Connaissez-vous ce point ? Dans mes souvenirs, Oracle ne fonctionne pas comme ça.

Merci pour votre aide

Pied de page des forums

Propulsé par FluxBB