ええと、これがより良いかどうかはわかりません 、ただし、LNNVLを使用する方が少し簡潔な場合があります 、関数(WHEREでのみ使用できます 句)TRUEを返します 指定された式がFALSEの場合 またはUNKNOWN(NULL )。例...
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);
... X=1およびY=2の行を除くすべてを返します。