परिचय
MySQL में LEFT() फंक्शन का उपयोग करके स्ट्रिंग के बाईं ओर से निर्दिष्ट संख्या में अक्षर निकाले जा सकते हैं। यह टेक्स्ट ट्रंकेशन या प्रीव्यू के लिए उपयोगी है।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> Title TEXT
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable VALUES('Java database connectivity to MySQL database');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES('Python with django framework');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable VALUES('C with data structure and algorithm');
Query OK, 1 row affected (0.33 sec)
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----------------------------------------------+
| Title |
+----------------------------------------------+
| Java database connectivity to MySQL database |
| Python with django framework |
| C with data structure and algorithm |
+----------------------------------------------+
3 rows in set (0.00 sec)
बाईं ओर से 10 अक्षर निकालने की क्वेरी
mysql> SELECT LEFT(Title, 10) AS Title FROM DemoTable;
परिणाम
+-----------------+
| Title |
+-----------------+
| Java datab |
| Python wit |
| C with dat |
+-----------------+
3 rows in set (0.00 sec)
व्याख्या
LEFT(Title, 10)- Title कॉलम के पहले 10 अक्षर लौटाता है- स्पेस भी गिने जाते हैं
- 'Java datab' = J,a,v,a, ,d,a,t,a,b (10 अक्षर)
शब्द सीमा पर काटने के लिए (बेहतर UX)
LEFT शब्द के बीच में काट सकता है। अंतिम पूर्ण शब्द तक काटने के लिए:
SELECT
CASE
WHEN CHAR_LENGTH(Title) <= 10 THEN Title
ELSE CONCAT(LEFT(Title, 10), '...')
END AS preview
FROM DemoTable;
या अंतिम स्पेस तक:
SELECT
SUBSTRING_INDEX(LEFT(Title, 10), ' ', -1) AS last_word,
LEFT(Title, 10) AS raw_left
FROM DemoTable;
संबंधित फंक्शन्स
| फंक्शन | विवरण |
|---|---|
LEFT(str, len) | बाईं ओर से len अक्षर |
RIGHT(str, len) | दाईं ओर से len अक्षर |
SUBSTRING(str, pos, len) | पोजीशन से len अक्षर |
SUBSTRING_INDEX(str, delim, count) | डिलीमीटर के आधार पर भाग |