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

SQL WHERE क्लॉज मिलान मान अनुगामी रिक्त स्थान के साथ

यह अपेक्षित परिणाम है:SQL सर्वर में = तुलना करते समय ऑपरेटर पिछली जगहों पर ध्यान नहीं देता है।

<ब्लॉकक्वॉट>

SQL सर्वर ANSI/ISO SQL-92 विनिर्देश (धारा 8.2, सामान्य नियम #3) का अनुसरण करता है कि रिक्त स्थान के साथ स्ट्रिंग्स की तुलना कैसे करें। एएनएसआई मानक को तुलना में उपयोग किए जाने वाले वर्ण स्ट्रिंग्स के लिए पैडिंग की आवश्यकता होती है ताकि उनकी लंबाई उनकी तुलना करने से पहले मेल खाए। पैडिंग सीधे WHERE और HAVING क्लॉज विधेय और अन्य Transact-SQL स्ट्रिंग तुलनाओं के शब्दार्थ को प्रभावित करता है। उदाहरण के लिए, ट्रांजैक्ट-एसक्यूएल स्ट्रिंग्स 'एबीसी' और 'एबीसी' को अधिकांश तुलनात्मक कार्यों के लिए समान मानता है।

इस नियम का एकमात्र अपवाद LIKE विधेय है। जब LIKE प्रेडिकेट एक्सप्रेशन के दाईं ओर एक अनुगामी स्थान के साथ एक मान होता है, तो SQL सर्वर तुलना होने से पहले दो मानों को समान लंबाई तक पैड नहीं करता है। क्योंकि LIKE विधेय का उद्देश्य, परिभाषा के अनुसार, सरल स्ट्रिंग समानता परीक्षणों के बजाय पैटर्न खोजों को सुविधाजनक बनाना है, यह पहले बताए गए ANSI SQL-92 विनिर्देश के अनुभाग का उल्लंघन नहीं करता है।

स्रोत



  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 सर्वर कर्सर प्रकार - KEYSET कर्सर | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  2. क्या मैं संग्रहीत प्रक्रिया के भीतर एक डिफ़ॉल्ट स्कीमा सेट कर सकता हूं?

  3. SQL सर्वर में लॉजिकल या ऑपरेटर क्या है - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 119

  4. SQL सर्वर सिस्टम डेटाबेस - सिस्टम डेटाबेस को पुनर्स्थापित करें

  5. कैसे बाधा के साथ कॉलम ड्रॉप करने के लिए?