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

MySQL में CHARACTER_LENGTH () फ़ंक्शन कैसे काम करता है

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() फ़ंक्शन बाइट्स में मापी गई लंबाई लौटाता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कौन सा अधिक कुशल है:एकाधिक MySQL टेबल या एक बड़ी टेबल?

  2. अलग-अलग पंक्तियों के लिए MYSQL योग ()

  3. गंभीर त्रुटि:किसी सदस्य फ़ंक्शन क्वेरी () को शून्य पर कॉल करें

  4. Oracle क्लाउड प्लेटफ़ॉर्म पर MySQL डेटाबेस सेवा के साथ Oracle JDeveloper का उपयोग करना, भाग 1

  5. MySQL में UNHEX () फ़ंक्शन कैसे काम करता है