अपने प्रश्न में इस साधारण मामले के लिए बस उपयोग करें
IF ( @place IS NULL )
SELECT *
FROM table1
ELSE
SELECT *
FROM table1
WHERE country = @place
यदि आपकी वास्तविक स्थिति अधिक जटिल है तो आप इसका उपयोग कर सकते हैं
select *
from Table1
where @place is null or [email protected]
option (recompile)
recompile
. की आवश्यकता का कारण संकेत दोनों मामलों के लिए एक ही योजना के खानपान से बचने और एक स्पष्ट मूल्य की आपूर्ति करने की स्थिति में एक अनावश्यक स्कैन करने से बचने के लिए है।
ये और अन्य विकल्प जैसे कि क्वेरी को गतिशील रूप से उत्पन्न करना, लेख में विस्तार से चर्चा की गई है डायनामिक खोज टी-एसक्यूएल में स्थितियां