हो सकता है कि मैंने आपकी आवश्यकता को गलत समझा हो, क्या यह इतना आसान नहीं है?
-- 1.) If User want all rows
SELECT * FROM @tbl
-- 2.) If user want rows where ID is NULL
SELECT * FROM @tbl
WHERE ID IS NULL
-- 3.) If user want rows where ID is NOT NULL
SELECT * FROM @tbl
WHERE ID IS NOT NULL
संपादित करें :तो आप तदनुसार फ़िल्टर करने के लिए पैरामीटर का उपयोग करना चाहते हैं, एक नज़र डालें:
SELECT * FROM @tbl
WHERE @FilterID = 1 -- returns all rows
OR ( @FilterID = 2 AND ID IS NULL) -- returns all null-rows
OR ( @FilterID = 3 AND ID IS NOT NULL) -- returns all not null rows
आप CASE
. का भी उपयोग कर सकते हैं जहां खंड में, हालांकि यह अनुशंसित नहीं है
।