मारियाडीबी में, CHAR_LENGTH()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो वर्णों में मापे गए दिए गए स्ट्रिंग तर्क की लंबाई देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
CHAR_LENGTH(str)
जहां str
वह स्ट्रिंग है जिसके लिए लंबाई लौटा दी जाएगी।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT CHAR_LENGTH('Splash');
परिणाम:
+-----------------------+ | CHAR_LENGTH('Splash') | +-----------------------+ | 6 | +-----------------------+
मल्टी-बाइट वर्ण
CHAR_LENGTH()
फ़ंक्शन प्रत्येक वर्ण को एक वर्ण के रूप में गिनता है, भले ही वह कितने बाइट्स का उपयोग करता हो। इसलिए, जो वर्ण दो, तीन या चार बाइट्स का उपयोग करते हैं, उन्हें अभी भी एक वर्ण के रूप में गिना जाएगा।
यह LENGTH()
. जैसे कार्यों के विपरीत है , जो बाइट्स की संख्या लौटाता है (जब तक कि यह Oracle मोड में न हो, जिस स्थिति में यह CHAR_LENGTH()
जैसा ही करता है। - वर्णों की संख्या लौटाता है)। यह BIT_LENGTH()
. जैसे कार्यों के विपरीत भी है जो एक स्ट्रिंग में बिट्स की संख्या लौटाता है।
यहां एक उदाहरण दिया गया है जो इन कार्यों की तुलना करता है:
SELECT
CHAR_LENGTH('©'),
LENGTH('©'),
BIT_LENGTH('©');
परिणाम:
+-------------------+--------------+------------------+ | CHAR_LENGTH('©') | LENGTH('©') | BIT_LENGTH('©') | +-------------------+--------------+------------------+ | 1 | 2 | 16 | +-------------------+--------------+------------------+
कॉपीराइट प्रतीक (©
) दो बाइट्स का उपयोग करता है। CHAR_LENGTH()
1 लौटाता है, क्योंकि यह अभी भी केवल एक वर्ण है। LENGTH()
और BIT_LENGTH()
दूसरी ओर, क्रमशः बाइट्स और बिट्स की संख्या लौटाएँ।
यह उदाहरण डिफ़ॉल्ट SQL_MODE
. का उपयोग करके किया गया था . जैसा कि उल्लेख किया गया है, यदि यह Oracle मोड में होता, LENGTH()
CHAR_LENGTH()
like जैसा व्यवहार किया होगा और लौटा दिया 1
।
अशक्त तर्क
पासिंग null
रिटर्न null
:
SELECT CHAR_LENGTH(null);
परिणाम:
+-------------------+ | CHAR_LENGTH(null) | +-------------------+ | NULL | +-------------------+
अनुपलब्ध तर्क
कॉलिंग CHAR_LENGTH()
तर्क पारित किए बिना त्रुटि होती है:
SELECT CHAR_LENGTH();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CHAR_LENGTH'
यह भी देखें CHARACTER_LENGTH()
फ़ंक्शन, जो CHAR_LENGTH()
. का पर्याय है ।