Nou, ik weet niet zeker of dit beter is , maar het is misschien iets beknopter om LNNVL
te gebruiken , een functie (die je alleen kunt gebruiken in een WHERE
clausule) die TRUE
. retourneert als een bepaalde uitdrukking FALSE
is of ONBEKEND (NULL
). Bijvoorbeeld...
WITH T AS
(
SELECT 1 AS X, 1 AS Y FROM DUAL UNION ALL
SELECT 1 AS X, 2 AS Y FROM DUAL UNION ALL
SELECT 1 AS X, NULL AS Y FROM DUAL UNION ALL
SELECT NULL AS X, 1 AS Y FROM DUAL
)
SELECT
*
FROM
T
WHERE
LNNVL(X <> Y);
...zal alles teruggeven behalve de rij waar X =1 en Y =2.