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