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

कंडीशनल चेक इन व्हेयर क्लॉज

कुछ लोग इस तकनीक का उपयोग करते हैं

... WHERE @itemid IS NULL OR tbl.itemid = @itemid

हालांकि यह गारंटी देता है कि आपको कभी भी आइटम आईडी कॉलम पर इंडेक्स की तलाश नहीं होगी।

यदि तालिका बिल्कुल बड़ी है तो एक बेहतर तरीका यह है कि क्वेरी को 2 अलग-अलग मामलों में विभाजित किया जाए

IF(@itemid IS NULL)
  SELECT foo FROM bar
ELSE
  SELECT foo FROM bar WHERE itemid = @itemid

यदि संयोजनों की संख्या बहुत बड़ी है तो आप गतिशील SQL पर विचार कर सकते हैं। सुनिश्चित करें कि आप पहले SQL इंजेक्शन को समझते हैं।

संदर्भ:टी-एसक्यूएल में गतिशील खोज स्थितियां



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

  2. क्या SQL सर्वर में कोई मैक्स फ़ंक्शन है जो .NET में Math.Max ​​जैसे दो मान लेता है?

  3. Android में JTDS ड्राइवर का उपयोग करके sql सर्वर को कैसे कनेक्ट करें

  4. मैं SQL Server 2000 में एकल स्ट्रोक वाले सभी तालिकाओं के लिए स्क्रिप्ट कैसे उत्पन्न करूं?

  5. SQL सर्वर में अग्रणी और अनुगामी व्हॉट्सएप को कैसे निकालें - TRIM ()