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)
ব্যাখ্যা (ধাপে ধাপে):
SUBSTRING_INDEX(Code, '/', 3)— প্রথম ৩টি স্ল্যাশ পর্যন্ত (অর্থাৎ/101/102/) রিটার্ন করে।SUBSTRING_INDEX(..., '/', -1)— উপরের ফলাফলের শেষ স্ল্যাশের পরের অংশ (অর্থাৎ102) রিটার্ন করে।
সাধারণীকরণ: N-তম অংশ বের করতে: SUBSTRING_INDEX(SUBSTRING_INDEX(str, delim, N), delim, -1)। MySQL 8.0+ এ JSON_TABLE বা REGEXP_SUBSTRও ব্যবহার করা যায়।