Alla jämförelser med NULL
ger NULL
. För att övervinna detta finns det tre operatorer du kan använda:
x IS NULL
- avgör om vänsterhandsuttryck ärNULL
,x IS NOT NULL
- som ovan, men tvärtom,x <=> y
- jämför båda operanderna för likhet på ett säkert sätt, dvsNULL
ses som ett normalvärde.
För din kod, kanske du vill överväga att använda det tredje alternativet och gå med noll säker jämförelse:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)