इसके बजाय अपनी स्थिति बदलें:
where (@LastName = 'All' and 1=1) or (LastName = @LastName)
विचार यह है कि जब @LastName
='सभी' तो आपकी क्वेरी में कोई फ़िल्टर नहीं होना चाहिए। 1=1 शर्त हमेशा सत्य होगी, और अन्य जांच के साथ सभी परिणाम लौटाने चाहिए। दूसरा रास्ता जो क्वेरी ले सकता है वह है एक विशिष्ट अंतिम नाम से फ़िल्टर करना, जो निश्चित रूप से शून्य मानों को बाहर करना चाहिए।
अद्यतन:1=1 शर्त बेमानी है। आप इस शर्त को फिर से लिख सकते हैं:
where (@LastName = 'All') or (LastName = @LastName)