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

'2'> '10' क्यों है?

मुझे लगता है कि PostgreSQL स्वचालित रूप से पर्दे के पीछे के प्रकार का पता लगाने की कोशिश करता है और लिनक्स में यह '' से छुटकारा पाने की कोशिश करता है, कुछ तुलनाएं लोकेल पर भी आधारित होती हैं।

  • इस प्रकार, ' 2' > '10' हो जाता है '2'>'10' और तुलना है '2'>'1'; वे बराबर नहीं हैं, इसलिए शेष स्ट्रिंग के साथ जारी रखने की कोई आवश्यकता नहीं है, और ascii('2') ascii('1') . से बड़ा है , इसलिए यह सत्य का मूल्यांकन करता है।

  • यदि यह एक समानता ऑपरेशन था (जैसे '22' ='22') तो इसका परिणाम गलत होगा क्योंकि पोस्टग्रेज बाइट तुलना द्वारा बाइट करता है। यह महत्वपूर्ण है क्योंकि तुलना करते समय इंजन दो अलग-अलग एल्गोरिदम का उपयोग करता है।

  • यदि आप टाइपकास्टिंग के माध्यम से प्रकार निर्दिष्ट करते हैं, तो यह अंतरिक्ष नियमों को ओवरराइड नहीं करेगा (' '=>'' )।

इसका श्रेय भी जाता है: #postgresql . में रोडियम टॉड और पीयर्स



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कनेक्शन पूलर्स और लोड बैलेंसर्स का उपयोग करके PostgreSQL को स्केल करना

  2. मैं प्रत्येक क्वेरी में अलग-अलग LIMIT के साथ SQL क्वेरी का परिणाम कैसे बनाऊं?

  3. PostgreSQL:प्राथमिक कुंजी या अद्वितीय के लिए कस्टम नाम प्रदान करना संभव है?

  4. * अपरिचित फ़ील्ड:डेटाबेस क्या आपका मतलब था?:- मेट्रिक्स - सर्वर - लॉगिंग - DROPWIZARD

  5. SQL_ASCII से एक Postgresql डेटाबेस को परिवर्तित करना, जिसमें मिश्रित एन्कोगिंग प्रकार शामिल हैं, UTF-8