ठीक है, मुझे यकीन नहीं है कि यह बेहतर है , लेकिन 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 है।