मारियाडीबी में, COERCIBILITY()
एक सिस्टम फ़ंक्शन है जो अपने स्ट्रिंग तर्क के कोलेशन ज़बरदस्ती मान देता है।
यह परिभाषित करता है कि मिलान संघर्ष के मामले में कोलाज को कैसे परिवर्तित किया जाएगा। इस तरह के संघर्षों में, उच्च ज़बरदस्ती के साथ एक अभिव्यक्ति को कम जबरदस्ती के साथ एक अभिव्यक्ति के संयोजन में बदल दिया जाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
COERCIBILITY(str)
जहां str
वह अभिव्यक्ति है जिसके लिए आप ज़बरदस्ती प्राप्त करना चाहते हैं।
COERCIBILITY()
फ़ंक्शन 0
. के बीच एक मान देता है और 5
, जैसा कि निम्न तालिका में बताया गया है:
जबरदस्ती | <थ>विवरणउदाहरण | |
---|---|---|
0 | स्पष्ट | COLLATE का उपयोग करके मान खंड |
1 | कोई मिलान नहीं | विभिन्न संयोजनों का उपयोग करके संयोजित तार |
2 | निहित | स्तंभ मान |
3 | निरंतर | USER() . जैसे कार्यों से वापसी मूल्य , VERSION() , आदि |
4 | जबरदस्ती | शाब्दिक स्ट्रिंग |
5 | अनदेखा | NULL या NULL . से लिया गया है |
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT COERCIBILITY('Green');
परिणाम:
+-----------------------+ | COERCIBILITY('Green') | +-----------------------+ | 4 | +-----------------------+
यह एक सामान्य स्ट्रिंग है और इसलिए जबरदस्ती 4
. है ।
स्पष्ट मिलान
COLLATE
. के साथ संयोजन को स्पष्ट रूप से निर्दिष्ट करने का एक उदाहरण यहां दिया गया है खंड।:
SELECT COERCIBILITY('Mango' COLLATE utf8_spanish_ci);
परिणाम:
+-----------------------------------------------+ | COERCIBILITY('Mango' COLLATE utf8_spanish_ci) | +-----------------------------------------------+ | 0 | +-----------------------------------------------+
यह 0
returns लौटाता है क्योंकि मैंने COLLATE
. के साथ संयोजन को स्पष्ट रूप से निर्दिष्ट किया है खंड।
डेटाबेस कॉलम
इस उदाहरण में, मैं डेटाबेस कॉलम से डेटा लौटाता हूं।:
SELECT
PetName,
COERCIBILITY(PetName)
FROM Pets
LIMIT 1;
परिणाम:
+---------+-----------------------+ | PetName | COERCIBILITY(PetName) | +---------+-----------------------+ | Fluffy | 2 | +---------+-----------------------+
तथ्य यह है कि यह एक डेटाबेस कॉलम है, इसका मतलब है कि यह एक निहित संयोजन है, और इसलिए हमें 2
की जबरदस्ती मिलती है ।
स्थिरांक
इस उदाहरण में, मुझे इनबिल्ट VERSION()
से रिटर्न वैल्यू की जबरदस्ती मिलती है समारोह:
SELECT COERCIBILITY(VERSION());
परिणाम:
+-------------------------+ | COERCIBILITY(VERSION()) | +-------------------------+ | 3 | +-------------------------+
शून्य मान
यहां बताया गया है कि जब हम null
. पास करते हैं तो क्या होता है :
SELECT COERCIBILITY(null);
परिणाम:
+--------------------+ | COERCIBILITY(null) | +--------------------+ | 6 | +--------------------+
शून्य मान अनदेखा करने योग्य हैं, और इसलिए हमें 6
. की जबरदस्ती मिलती है ।
कोई तर्क नहीं
कॉलिंग COERCIBILITY()
बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT COERCIBILITY();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'COERCIBILITY'