Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में CHAR_LENGTH () क्या है?

MySQL में, CHAR_LENGTH() फ़ंक्शन वर्णों में मापी गई स्ट्रिंग की लंबाई देता है। MySQL में CHARACTER_LENGTH() भी है , जो CHAR_LENGTH() . का पर्याय है ।

यहां एक उदाहरण दिया गया है:

SELECT CHAR_LENGTH('Lit');

और ये रहा नतीजा:

+--------------------+
| CHAR_LENGTH('Lit') |
+--------------------+
|                  3 |
+--------------------+

पिछला रिक्त स्थान

ध्यान दें कि CHAR_LENGTH() इसकी गणना में अनुगामी रिक्त स्थान (जैसे स्ट्रिंग के अंत में रिक्त स्थान) शामिल हैं।

इसलिए यदि हम पिछले उदाहरण के अंत में एक स्थान जोड़ते हैं:

SELECT CHAR_LENGTH('Lit');

ये रहा परिणाम:

+---------------------+
| CHAR_LENGTH('Lit ') |
+---------------------+
|                   4 |
+---------------------+

लेकिन हम TRIM() . जोड़कर उस पिछली जगह को हमेशा हटा सकते हैं मिश्रण में कार्य करें:

SELECT CHAR_LENGTH(TRIM('Lit '));

ये रहा परिणाम:

+---------------------------+
| CHAR_LENGTH(TRIM('Lit ')) |
+---------------------------+
|                         3 |
+---------------------------+

अग्रणी रिक्तियां

प्रमुख रिक्त स्थान के साथ भी यही बात है। इसलिए यदि हम प्रारंभ . में स्थान जोड़ते हैं इसके बजाय स्ट्रिंग का:

SELECT CHAR_LENGTH(' Lit');

हमें वही परिणाम मिलता है:

+---------------------+
| CHAR_LENGTH(' Lit') |
+---------------------+
|                   4 |
+---------------------+

डेटा प्रकार

इससे कोई फर्क नहीं पड़ता कि स्ट्रिंग किस डेटा प्रकार के रूप में संग्रहीत है, यह अभी भी वही परिणाम लौटाएगा। यह LENGTH() . के विपरीत है फ़ंक्शन, जो उन मामलों में वर्णों की संख्या को दोगुना कर देगा जहां डेटा को यूनिकोड स्ट्रिंग के रूप में संग्रहीत किया जा रहा है।

निम्नलिखित उदाहरण में, ArtistName कॉलम varchar(255) . का उपयोग करता है :

SELECT CHAR_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';

ये रहा परिणाम:

+-------------------------+
| CHAR_LENGTH(ArtistName) |
+-------------------------+
|                       3 |
+-------------------------+

और अगर हम ArtistName . को संशोधित करते हैं यूनिकोड का उपयोग करने के लिए कॉलम:

ALTER TABLE Artists 
MODIFY COLUMN ArtistName VARCHAR(255) unicode;

और फिर से वही क्वेरी चलाएँ:

SELECT CHAR_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';

हमें अभी भी वही परिणाम मिलता है:

+-------------------------+
| CHAR_LENGTH(ArtistName) |
+-------------------------+
|                       3 |
+-------------------------+

हालांकि, अगर हमने LENGTH() . का इस्तेमाल किया होता फ़ंक्शन, परिणाम 6 होगा। ऐसा इसलिए है क्योंकि यूनिकोड के तार प्रति वर्ण 2 बाइट्स संग्रहीत करते हैं, और LENGTH() फ़ंक्शन बाइट्स में मापी गई लंबाई लौटाता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ClusterControl वर्चुअल IP को कैसे कॉन्फ़िगर करता है और विफलता के दौरान क्या अपेक्षा की जाती है

  2. CentOS 7 पर Netdata का उपयोग करके MySQL/MariaDB डेटाबेस की निगरानी कैसे करें

  3. PHP स्ट्रिप_टैग के समतुल्य MySQL क्वेरी क्या है?

  4. MySQL प्रदर्शन बेंचमार्किंग:MySQL 5.7 बनाम MySQL 8.0

  5. मुझे अपने विंडोज़ कंप्यूटर पर my.cnf नहीं मिल रहा है