LENGTH और CHAR_LENGTH
In this page:
LENGTH(string) -- length in bytes
CHAR_LENGTH(string) -- length in characters
Length को समझना
MySQL के पास string sizes measure करने के दो main तरीके हैं, और गलत वाला चुनना non-ASCII text के साथ subtle bugs का कारण बन सकता है। एक byte size measure करता है, और दूसरा character count, और multi-byte characters शामिल होते ही वे अलग हो जाते हैं।
उदाहरण: Understanding Length
SELECT LENGTH('cafe test') AS byte_length, CHAR_LENGTH('cafe test') AS char_length;
Bytes बनाम Characters
Special characters और emojis UTF-8 encoding में एक byte से ज़्यादा लेते हैं। LENGTH total bytes count करता है, जबकि CHAR_LENGTH actual text characters count करता है, इसलिए एक single emoji की LENGTH 4 हो सकती है लेकिन CHAR_LENGTH 1।
उदाहरण: Bytes vs Characters
SELECT LENGTH('a') AS ascii_bytes, CHAR_LENGTH('a') AS ascii_chars;
Empty और Null Strings
एक empty string में 0 characters होते हैं, बिल्कुल कोई value न होने से अलग। अगर आप एक NULL value की length check करें, MySQL एक number के बजाय NULL return करता है, क्योंकि आप उस चीज़ की length measure नहीं कर सकते जो वहाँ है ही नहीं।
उदाहरण: Empty and Null Strings
SELECT LENGTH('') AS empty_length, LENGTH(NULL) AS null_length;
Trimming और Length Check करना
Spaces किसी दूसरे character जैसे ही string length में count होते हैं। आप length functions को TRIM जैसे trimming functions के साथ combine करके सिर्फ real characters count कर सकते हैं, accidental leading या trailing whitespace ignore करते हुए।
उदाहरण: Trimming and Checking Length
SELECT LENGTH(' hi ') AS padded_length, LENGTH(TRIM(' hi ')) AS trimmed_length;
Performance और Filtering
आप weak passwords या बहुत लंबे inputs filter out करने के लिए अपनी WHERE clauses में string lengths इस्तेमाल कर सकते हैं, जैसे hash होने से पहले ही eight characters से छोटे किसी भी password को reject करना।
उदाहरण: Performance and Filtering
CREATE TABLE users (id INT, password TEXT);
INSERT INTO users VALUES (1, 'abc'), (2, 'longenoughpw');
SELECT * FROM users WHERE LENGTH(password) < 8;
- accents या emoji वाले text में characters count करने के लिए
LENGTHइस्तेमाल करना, जबकि यह bytes count करता है। - यह मान लेना कि एक
NULLकीLENGTH0है, जबकि यहNULLहै। - trailing spaces का हिसाब न रखना, जो characters की तरह count होते हैं।
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: