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

मुझे कोलेशन समझ में नहीं आ रहा है? (मैसकल, आरडीबीएमएस, कैरेक्टर सेट)

डेटाबेस संयोजन का मुख्य बिंदु यह निर्धारित करना है कि डेटा कैसे सॉर्ट और तुलना की जाती है।

स्ट्रिंग तुलनाओं की केस संवेदनशीलता

SELECT "New York" = "NEW YORK";` 

एक केस असंवेदनशील संयोजन के लिए सत्य वापस आ जाएगा; संवेदनशील केस के लिए झूठा।

कौन सा कोलेशन करता है जिसे _ci . द्वारा बताया जा सकता है और _cs संयोजन के नाम में प्रत्यय। _bin कोलाज बाइनरी तुलना करते हैं (स्ट्रिंग्स 100% समान होनी चाहिए)।

उमलॉट्स/उच्चारण वर्णों की तुलना

संयोजन यह भी निर्धारित करता है कि स्ट्रिंग तुलनाओं में उच्चारण वर्णों को उनके लैटिन आधार समकक्षों के रूप में माना जाता है या नहीं।

SELECT "Düsseldorf" =  "Dusseldorf";
SELECT "Èclair" =      "Eclair";

पूर्व मामले में सच लौटेगा; बाद में झूठा। कौन सा है यह जानने के लिए आपको प्रत्येक संयोजन के विवरण को पढ़ना होगा।

स्ट्रिंग सॉर्टिंग

संयोजन तारों को क्रमबद्ध करने के तरीके को प्रभावित करता है।

उदाहरण के लिए,

  • उमलॉट्स Ä Ö Ü फिनिश/स्वीडिश वर्णमाला में वर्णमाला के अंत में हैं latin1_swedish_ci

  • उन्हें A O U . माना जाता है जर्मन DIN-1 सॉर्टिंग में (latin_german1_ci )

  • और AE OE UE . के रूप में जर्मन DIN-2 छँटाई में (latin_german2_ci ) ("फोन बुक" छँटाई)

  • latin1_spanish_ci . में , "ñ" (n-tilde) "n" और "o" के बीच एक अलग अक्षर है।

जब गैर-लैटिन वर्णों का उपयोग किया जाता है, तो इन नियमों के परिणामस्वरूप अलग-अलग सॉर्ट ऑर्डर होंगे।

रनटाइम पर कॉलेशन का उपयोग करना

आपको अपनी टेबल और कॉलम के लिए एक कोलेशन चुनना होगा, लेकिन अगर आपको परफॉर्मेंस हिट से ऐतराज नहीं है, तो आप COLLATE का उपयोग करके रनटाइम पर डेटाबेस ऑपरेशंस को एक निश्चित कॉलेशन में बाध्य कर सकते हैं। खोजशब्द।

यह tableको क्रमित करेगा name . द्वारा जर्मन DIN-2 छँटाई नियमों का उपयोग करते हुए स्तंभ:

SELECT name
FROM table
ORDER BY name COLLATE latin1_german2_ci;

COLLATE Using का उपयोग करना रनटाइम पर प्रदर्शन प्रभाव पड़ेगा, क्योंकि प्रत्येक कॉलम को क्वेरी के दौरान परिवर्तित किया जाना है। तो इसे लागू करने से पहले दो बार सोचें बड़े डेटा सेट करें।

MySQL संदर्भ:

  • कैरेक्टर सेट और कोलाज जो MySQL सपोर्ट करता है
  • संयोजन के प्रभाव के उदाहरण
  • संयोजन के मुद्दे


  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. Oracle में regexp_replace द्वारा अल्पविराम से अलग की गई सूची से डुप्लिकेट कैसे निकालें?

  4. कर्मचारियों के नामों को उनके शहर के कॉलम के अनुसार व्यवस्थित करने की आवश्यकता है

  5. Oracle स्ट्रिंग फ़ंक्शंस (पूरी सूची)