ठीक है, मुझे यकीन नहीं है कि यह बेहतर है , लेकिन LNNVL . का उपयोग करना थोड़ा अधिक संक्षिप्त हो सकता है , एक फ़ंक्शन (जिसे आप केवल WHERE . में उपयोग कर सकते हैं) क्लॉज) जो TRUE returns लौटाता है यदि दिया गया व्यंजक FALSE है या अज्ञात (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 है।