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

SQL में डायनामिक रूप से/प्रोग्रामेटिक रूप से WHERE क्लॉज़ जोड़ें

आप इसे केवल sql में इस तरह कर सकते हैं:

SELECT * 
FROM tUsers 
WHERE 1 = 1
  AND (@userID IS NULL OR RTRIM(Name) = @userID )
  AND (@password IS NULL OR RTRIM(Password) = @password)
  AND (@field2 IS NULL OR Field2 = @field2)
....

यदि कोई पैरामीटर संग्रहीत कार्यविधि को NULL . के साथ पास किया गया है मान तो पूरी शर्त को नज़रअंदाज़ कर दिया जाएगा।

ध्यान दें कि :मैंने जोड़ा WHERE 1 = 1 क्वेरी को काम करने के लिए यदि कोई पैरामीटर क्वेरी को पास नहीं किया गया है और इस मामले में सभी परिणाम सेट वापस कर दिए जाएंगे, क्योंकि 1 = 1 हमेशा सच होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल का उपयोग करके SQL सर्वर में उपयोगकर्ता-परिभाषित डेटा प्रकार उपनाम कैसे बनाएं?

  2. तालिका में मूल्यों की लगातार घटनाओं की संख्या की गणना करें

  3. बड़ी तालिकाओं के लिए SQL सर्वर सांख्यिकी कैसे अपडेट करें

  4. क्या मुझे सी # एप्लिकेशन में SQL सर्वर डेटाबेस की सभी तालिकाओं का नाम मिल सकता है?

  5. टी-एसक्यूएल में इंडेक्सऑफ फ़ंक्शन