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

जहां क्लॉज . में खाली कैरेक्टर को नजरअंदाज किया गया

Oracle दस्तावेज़ीकरण को literals पर देख रहे हैं :

और ब्लैंक-पैडेड तुलना सेमेन्टिक्स राज्य:

चूंकि तुलना के बाईं ओर CHAR(10) . है और दाईं ओर एक टेक्स्ट शाब्दिक है फिर रिक्त-गद्देदार तुलना शब्दार्थ का उपयोग किया जाता है और 'hello ' = 'hello' सच है।

आप इसे साधारण उदाहरण में देख सकते हैं:

SELECT * FROM DUAL WHERE 'hello    ' = 'hello';

अपडेट करें :

[TL; DR] यह व्यवहार Oracle के सभी संस्करणों में कम से कम Oracle 7 (1992 में जारी) के बाद से प्रकट हुआ है। मैंने दो दशक से अधिक पुरानी रिलीज़ पर दस्तावेज़ों की खोज करना बंद कर दिया है, लेकिन मुझे उम्मीद है कि आप पाएंगे कि अधिकांश (सभी?) संस्करणों में यही व्यवहार रहा है।

यहां विभिन्न संस्करणों के लिए दस्तावेज़ीकरण दिया गया है:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में स्तंभों के लिए अल्पविराम से अलग किए गए मानों को विभाजित करें

  2. तालिका की बाधाओं को कैसे देखें उदाहरण के लिए यदि यह प्राथमिक कुंजी या अद्वितीय कुंजी है?

  3. Oracle सिंटैक्स - क्या हमें पुराने और नए के बीच चयन करना चाहिए?

  4. पीएल/एसक्यूएल में वर्तमान कहां है

  5. पीएल/एसक्यूएल ऑनलाइन एमसीक्यू क्विज