Free tutorials & notes in Hindi & English · Clean code examples · Mobile friendly learning
MySQL + SQL · Lesson 60

MySQL String Functions

Reports में String Functions

String functions query output के text को combine, normalize, measure और extract करते हैं। ये proper validation या clean data model replace नहीं करते।

SELECT full_name,
       CONCAT(full_name, ' - ', class_name) AS student_label
FROM students
ORDER BY student_id;
Aarav - X-A Meera - X-A Kabir - X-B Sana - X-B

CONCAT, CONCAT_WS और NULL

SELECT CONCAT('Coding', 'Easily') AS joined,
       CONCAT_WS(' - ', 'Aarav', 'X-A') AS label;
CodingEasily | Aarav - X-A

Any argument NULL हो तो CONCAT NULL देता है। CONCAT_WS separator के बाद NULL arguments skip करता है। Visible fallback के लिए COALESCE लें।

Case और Whitespace

SELECT UPPER('Meera') AS upper_name,
       LOWER('SQL Tutorial') AS lower_text,
       TRIM('  SQL  ') AS clean_text,
       LTRIM('  left') AS left_clean,
       RTRIM('right  ') AS right_clean;
MEERA | sql tutorial | SQL | left | right

ये output transform करते हैं। Stored data cleanup reviewed UPDATE और input constraints से करें। Case conversion charset/collation rules follow करता है।

CHAR_LENGTH बनाम LENGTH

SELECT CHAR_LENGTH('Coding Easily') AS characters,
       LENGTH('Coding Easily') AS bytes;
13 | 13

ASCII में one byte per character होने से results समान हैं। Unicode multi-byte हो सकता है; visible count के लिए CHAR_LENGTH और storage bytes के लिए LENGTH लें।

SUBSTRING, REPLACE और LOCATE

SELECT SUBSTRING('CodingEasily', 1, 6) AS first_word,
       REPLACE('X-A', 'X-', 'Class ') AS class_label,
       LOCATE('Easily', 'CodingEasily') AS start_position;
Coding | Class A | 7

SUBSTRING positions 1 से शुरू, REPLACE matching case-sensitive और LOCATE absent होने पर 0 देता है।

Collation, Search और Indexing

Equality, ordering और LIKE collation पर depend हैं। Matching force करने के लिए large search में हर row पर LOWER/TRIM न लगाएँ। Input normalize, correct collation और EXPLAIN से measure करें। जरूरी transformed search में supported generated/functional index evaluate करें।

Untrusted text SQL में concatenate न करें। String functions format और prepared statements syntax protect करते हैं।

अभ्यास

  1. Class वाला student label बनाएँ।
  2. Storage बदले बिना names uppercase दिखाएँ।
  3. Hindi text पर CHAR_LENGTH और LENGTH compare करें।
  4. हर name के first three characters निकालें।
  5. CodingEasily में Easily की position खोजें।

त्वरित सारांश

  • CONCAT combine और case/trim functions output normalize करते हैं।
  • CHAR_LENGTH characters, LENGTH bytes गिनता है।
  • SUBSTRING extract, REPLACE substitute और LOCATE find करता है।
  • NULL, Unicode, collation और index use consider करें।

Official संदर्भ

References 14 August 2026 को review किए गए।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

CHAR_LENGTH और LENGTH में क्या अंतर है?
CHAR_LENGTH characters और LENGTH bytes देता है। ASCII में समान, multibyte Unicode में अलग हो सकते हैं।
CONCAT को NULL मिले तो क्या होता है?
किसी argument के NULL होने पर CONCAT NULL देता है। Optional parts के लिए CONCAT_WS या COALESCE लें।
क्या UPPER stored text permanently बदलता है?
SELECT में नहीं। यह result expression बदलता है। Stored data बदलने के लिए UPDATE चाहिए।
क्या SUBSTRING position zero-based है?
नहीं। MySQL string positions सामान्यतः 1 से शुरू होती हैं। Negative start end से count कर सकता है।
WHERE column पर function index को affect करता है?
हाँ। LOWER/TRIM जैसी wrapping normal index range use रोक सकती है, जब तक suitable functional index/design न हो।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.