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

MySQL-এ LENGTH() এবং REPLACE() ব্যবহার করে নির্দিষ্ট সাবস্ট্রিংয়ের وقوع সংখ্যা গুনা

MySQL-এ সরাসরি সাবস্ট্রিং কাউন্ট ফাংশন নেই। LENGTH() এবং REPLACE() কম্বাইন করে একটি সাবস্ট্রিং কতবার আসছে তা বের করা যায়।

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

mysql> CREATE TABLE DemoTable (Value TEXT);
Query OK, 0 rows affected (0.74 sec)

mysql> INSERT INTO DemoTable VALUES('10,20,10,30,10,40,50,40');

সকল রেকর্ড

+-------------------------+
| Value                   |
+-------------------------+
| 10,20,10,30,10,40,50,40 |
+-------------------------+

'10' সাবস্ট্রিংয়ের وقوع সংখ্যা গুনা

mysql> SELECT LENGTH(Value) + 2 - LENGTH(REPLACE(CONCAT(',', Value, ','), ',10,', 'len')) FROM DemoTable;

আউটপুট:

+----------------------------------------------------------------------------+
| LENGTH(Value) + 2 - LENGTH(REPLACE(CONCAT(',', Value, ','), ',10,', 'len')) |
+----------------------------------------------------------------------------+
| 3                                                                          |
+----------------------------------------------------------------------------+

ব্যাখ্যা: কমা দিয়ে র‍্যাপ করে ',10,' সাবস্ট্রিং খুঁজা হয়েছে যাতে পার্শিয়াল ম্যাচ (যেমন 110) না হয়। REPLACE দিয়ে 'len' (৩ ক্যারেক্টার) দিয়ে রিপ্লেস করা হয়েছে। দৈর্ঘ্যের পার্থক্য / ৩ = وقوع সংখ্যা। এখানে সরলীকৃত ফর্মুলা ব্যবহার করা হয়েছে।

  1. MySQL-এ REPLACE() ফাংশন ব্যবহার করে স্পেশাল ক্যারেক্টারসহ স্ট্রিং সিলেক্ট করা

  2. MySQL-এ নির্দিষ্ট প্যাটার্নের (John-*) ভিন্ন আইটেমের সংখ্যা গণনা করা

  3. MySQL-এ কমা-সেপারেটেড স্ট্রিংয়ে নির্দিষ্ট সংখ্যা খুঁজে রো সিলেক্ট করা

  4. MySQL-এ REGEXP ব্যবহার করে নির্দিষ্ট সংখ্যা দিয়ে শুরু হওয়া স্ট্রিং-নম্বর রেকর্ড ফেচ করা