MySQL-এ স্ট্রিং-এর হাইফেন (-) এর পরের অংশ (অর্থাৎ হাইফেনের ডানপাশ) বের করতে SUBSTRING_INDEX(), SUBSTRING(), INSTR() ফাংশন কম্বাইন করে ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> StudentId VARCHAR(100)
-> );
Query OK, 0 rows affected (0.60 sec)
mysql> INSERT INTO DemoTable VALUES('STU-1011');
mysql> INSERT INTO DemoTable VALUES('STU-95968686');
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+--------------+ | StudentId | +--------------+ | STU-1011 | | STU-95968686 | +--------------+ 2 rows in set (0.00 sec)
হাইফেনের পরের অংশ বের করা
mysql> SELECT SUBSTRING_INDEX(SUBSTRING(StudentId, INSTR(StudentId, '-') + 1), ' ', 1)
-> FROM DemoTable;
আউটপুট
+------------------------------------------------------------------------+ | SUBSTRING_INDEX(SUBSTRING(StudentId, INSTR(StudentId, '-') + 1), ' ', 1) | +------------------------------------------------------------------------+ | 1011 | | 95968686 | +------------------------------------------------------------------------+ 2 rows in set (0.02 sec)
ব্যাখ্যা (ধাপে ধাপে):
INSTR(StudentId, '-')— হাইফেনের পজিশন বের করে (STU-1011-এ ৪)।SUBSTRING(StudentId, ... + 1)— হাইফেনের পর থেকে শেষ পর্যন্ত: '1011', '95968686'।SUBSTRING_INDEX(..., ' ', 1)— স্পেস দিয়ে ভাগ করে প্রথম অংশ নেয় (এখানে স্পেস নাই, তাই পুরো স্ট্রিং)।
সরল বিকল্প: SUBSTRING_INDEX(StudentId, '-', -1) — সরাসরি শেষ হাইফেনের পরের অংশ বের করে (আর্টিকেল ১০০৬০৭৩৮৯৪-এ দেখানো হয়েছে)। উপরের জটিল পদ্ধতির প্রয়োজন নেই।