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

MySQL-এ SUBSTRING_INDEX() এবং INSTR() ব্যবহার করে স্ট্রিং-এর হাইফেন (-) এর আগের অংশ কাটা

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)

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

  1. INSTR(StudentId, '-') — হাইফেনের পজিশন বের করে (STU-1011-এ ৪)।
  2. SUBSTRING(StudentId, ... + 1) — হাইফেনের পর থেকে শেষ পর্যন্ত: '1011', '95968686'।
  3. SUBSTRING_INDEX(..., ' ', 1) — স্পেস দিয়ে ভাগ করে প্রথম অংশ নেয় (এখানে স্পেস নাই, তাই পুরো স্ট্রিং)।

সরল বিকল্প: SUBSTRING_INDEX(StudentId, '-', -1) — সরাসরি শেষ হাইফেনের পরের অংশ বের করে (আর্টিকেল ১০০৬০৭৩৮৯৪-এ দেখানো হয়েছে)। উপরের জটিল পদ্ধতির প্রয়োজন নেই।

  1. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো

  2. MySQL-এ COUNT() এর ভিতরে CASE শর্ত ব্যবহার করে গণনা করা

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

  4. MySQL-এ কাস্টম ফাংশন তৈরি করে কমা-বিচ্ছিন্ন স্ট্রিংয়ের যোগফল বের করুন