MySQL में, CHARACTER_LENGTH()
फ़ंक्शन वर्णों में मापी गई स्ट्रिंग की लंबाई देता है।
CHARACTER_LENGTH()
CHAR_LENGTH()
. का पर्यायवाची है समारोह।
सिंटैक्स
वाक्य रचना इस प्रकार है:
CHARACTER_LENGTH(str)
जहां str
वह स्ट्रिंग है जिसके लिए लंबाई लौटा दी जाएगी।
उदाहरण 1 - मूल उपयोग
यहां मूल उपयोग का एक उदाहरण दिया गया है:
SELECT CHARACTER_LENGTH('Cat');
और ये रहा नतीजा:
+-------------------------+ | CHARACTER_LENGTH('Cat') | +-------------------------+ | 3 | +-------------------------+
उदाहरण 2 - पीछे वाले रिक्त स्थान
ध्यान दें कि CHARACTER_LENGTH()
इसकी गणना में अनुगामी रिक्त स्थान (जैसे स्ट्रिंग के अंत में रिक्त स्थान) शामिल हैं।
इसलिए यदि हम पिछले उदाहरण के अंत में एक स्थान जोड़ते हैं:
SELECT CHARACTER_LENGTH('Cat');
ये रहा परिणाम:
+--------------------------+ | CHARACTER_LENGTH('Cat ') | +--------------------------+ | 4 | +--------------------------+
लेकिन हम TRIM()
. का उपयोग करके उस पिछली जगह को हमेशा हटा सकते हैं फ़ंक्शन या RTRIM()
समारोह:
SELECT CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM', CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';
ये रहा परिणाम:
+------+-------+ | TRIM | RTRIM | +------+-------+ | 3 | 3 | +------+-------+
उदाहरण 3 - प्रमुख रिक्तियां
प्रमुख रिक्त स्थान पर भी यही अवधारणा लागू होती है। आप या तो TRIM
. का उपयोग कर सकते हैं या LTRIM
:
SELECT CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM', CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';
परिणाम:
+------+-------+ | TRIM | LTRIM | +------+-------+ | 3 | 3 | +------+-------+
उदाहरण 4 - डेटा प्रकार
इससे कोई फर्क नहीं पड़ता कि स्ट्रिंग किस डेटा प्रकार के रूप में संग्रहीत है, यह अभी भी वही परिणाम लौटाएगा। यह LENGTH()
. के विपरीत है फ़ंक्शन, जो उन मामलों में वर्णों की संख्या को दोगुना कर देगा जहां डेटा को यूनिकोड स्ट्रिंग के रूप में संग्रहीत किया जा रहा है।
निम्नलिखित उदाहरण में, ArtistName कॉलम varchar(255) . का उपयोग करता है :
SELECT CHARACTER_LENGTH(ArtistName) Result FROM Artists WHERE ArtistName = 'Lit';
ये रहा परिणाम:
+--------+ | Result | +--------+ | 3 | +--------+
और अगर हम ArtistName
. को संशोधित करते हैं यूनिकोड का उपयोग करने के लिए कॉलम:
ALTER TABLE Artists MODIFY COLUMN ArtistName VARCHAR(255) unicode;
और फिर से वही क्वेरी चलाएँ:
SELECT CHARACTER_LENGTH(ArtistName) FROM Artists WHERE ArtistName = 'Lit';
हमें अभी भी वही परिणाम मिलता है:
+--------+ | Result | +--------+ | 3 | +--------+
हालांकि, अगर हमने LENGTH()
. का इस्तेमाल किया होता फ़ंक्शन, परिणाम 6 होगा। ऐसा इसलिए है क्योंकि यूनिकोड के तार प्रति वर्ण 2 बाइट्स संग्रहीत करते हैं, और LENGTH()
फ़ंक्शन बाइट्स में मापी गई लंबाई लौटाता है।