কম্পিউটার টিউটোরিয়াল

MySQL-এ SUBSTRING_INDEX() ব্যবহার করে স্ল্যাশ (/) দিয়ে ঘিড়া মধ্যবর্তী স্ট্রিং বের করা

MySQL-এ স্ল্যাশ (/) দিয়ে বিভক্ত স্ট্রিং থেকে মধ্যবর্তী অংশ বের করতে নেস্টেড SUBSTRING_INDEX() ফাংশন ব্যবহার করা হয়।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> Code VARCHAR(100)
    -> );
Query OK, 0 rows affected (1.07 sec)
mysql> INSERT INTO DemoTable VALUES('/101/102/106');
mysql> INSERT INTO DemoTable VALUES('/110/111/101');
mysql> INSERT INTO DemoTable VALUES('/111/114/201');

সব রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট

+--------------+
| Code         |
+--------------+
| /101/102/106 |
| /110/111/101 |
| /111/114/201 |
+--------------+
3 rows in set (0.00 sec)

দ্বিতীয় স্ল্যাশ এবং তৃতীয় স্ল্যাশের মধ্যবর্তী অংশ বের করা

mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(Code, '/', 3), '/', -1) FROM DemoTable;

আউটপুট

+-----------------------------------------------------+
| SUBSTRING_INDEX(SUBSTRING_INDEX(Code, '/', 3), '/', -1) |
+-----------------------------------------------------+
| 102                                                   |
| 111                                                   |
| 114                                                   |
+-----------------------------------------------------+
3 rows in set (0.00 sec)

ব্যাখ্যা (ধাপে ধাপে):

  1. SUBSTRING_INDEX(Code, '/', 3) — প্রথম ৩টি স্ল্যাশ পর্যন্ত (অর্থাৎ /101/102/) রিটার্ন করে।
  2. SUBSTRING_INDEX(..., '/', -1) — উপরের ফলাফলের শেষ স্ল্যাশের পরের অংশ (অর্থাৎ 102) রিটার্ন করে।

সাধারণীকরণ: N-তম অংশ বের করতে: SUBSTRING_INDEX(SUBSTRING_INDEX(str, delim, N), delim, -1)। MySQL 8.0+ এ JSON_TABLE বা REGEXP_SUBSTRও ব্যবহার করা যায়।

  1. MySQL-এ WHERE ক্লজে স্ট্রিং থেকে পূর্ণসংখ্যায় অটোমেটিক কাস্টিং

  2. MySQL-এ LEFT() ফাংশন দিয়ে স্ল্যাশের আগের অংশ বের করা

  3. MySQL-এ SUBSTRING_INDEX দিয়ে স্ল্যাশ-বিভক্ত স্ট্রিং থেকে সাবস্ট্রিং বের করা

  4. MySQL-এ CONCAT এবং SUBSTRING_INDEX দিয়ে ডটের আগের অংশ প্রতিস্থাপন করা