CHAR_LENGTH() फंक्शन स्ट्रिंग में कैरेक्टर्स की संख्या लौटाता है, बाइट्स नहीं। यह मल्टी-बाइट कैरेक्टर्स (यूनिकोड, UTF-8) के लिए सही गिनती देता है।
सिंटैक्स
CHAR_LENGTH(str)
CHARACTER_LENGTH(str) -- पर्यायवाची (synonym)
उदाहरण
mysql> SELECT CHAR_LENGTH('tutorialspoint');
+-------------------------------+
| CHAR_LENGTH('tutorialspoint') |
+-------------------------------+
| 14 |
+-------------------------------+
mysql> SELECT CHARACTER_LENGTH('tutorialspoint');
+------------------------------------+
| CHARACTER_LENGTH('tutorialspoint') |
+------------------------------------+
| 14 |
+------------------------------------+
LENGTH() vs CHAR_LENGTH() तुलना
mysql> SET @s = CONVERT('tutorialspoint' USING ucs2);
mysql> SELECT LENGTH(@s), CHAR_LENGTH(@s);
+------------+-----------------+
| LENGTH(@s) | CHAR_LENGTH(@s) |
+------------+-----------------+
| 28 | 14 |
+------------+-----------------+
LENGTH()= 28 बाइट्स (UCS2 में प्रत्येक कैरेक्टर 2 बाइट्स)CHAR_LENGTH()= 14 कैरेक्टर्स (वास्तविक कैरेक्टर गिनती)
कौन सा उपयोग करें?
- कैरेक्टर गिनती (स्ट्रिंग लंबाई लॉजिक, वैलिडेशन, UI) →
CHAR_LENGTH() - स्टोरेज आकार, बाइट-स्तर ऑपरेशन →
LENGTH()/OCTET_LENGTH()
नोट:CHARACTER_LENGTH()SQL मानक नाम है,CHAR_LENGTH()संक्षिप्त रूप। दोनों समान काम करते हैं।