Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जहां अगर शर्त पूरी नहीं होती है तो NULL सहित सभी मान प्राप्त करें

इसके बजाय अपनी स्थिति बदलें:

where (@LastName = 'All' and 1=1) or (LastName = @LastName)

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

अद्यतन:1=1 शर्त बेमानी है। आप इस शर्त को फिर से लिख सकते हैं:

where (@LastName = 'All') or (LastName = @LastName)

डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि (1093):आप खंड से अद्यतन के लिए लक्ष्य तालिका को अद्यतन नहीं कर सकते

  2. एसक्यूएल में दो कॉलम कैसे मर्ज करें और इसे एक अलग रिकॉर्ड में प्रदर्शित करें

  3. अरबी फोनेटिक्स को ध्यान में रखते हुए डुप्लिकेट पंक्ति को कैसे हटाएं

  4. हैशेड और नमकीन पासवर्ड को रिवर्स कैसे करें?

  5. डुप्लिकेट प्रविष्टि को पकड़ें अपवाद