pstgresql 8 : select where (value=null) ou (value is null) ?

Eléphanteau du PHP | 42 Messages

15 juin 2006, 13:41

bonjour,

Dans postgresql 8(.1.3) lorsque j'effectue

Code : Tout sélectionner

SELECT nom FROM utilisateur WHERE prenom=null;
il me renvoie (0 rows) alors qu'il existe bel et bien des lignes qui satisfont cette condition !

Mais lorsque je fais

Code : Tout sélectionner

SELECT nom FROM utilisateur WHERE prenom is null;
Là, ça fonctionne !

Quelqu'un peut-il m'expliquer le phénomène ?

Merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2006, 13:51

la valeur null est différente de la chaine de caractère "null".
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 42 Messages

15 juin 2006, 13:55

la valeur null est différente de la chaine de caractère "null".
avec postgres 7, ça marchait pourtant sans mettre les "" ... (et avec mysql aussi si je ne m'abuse)

Est-ce du a un renforcement du typage des champs ?