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' (৩ ক্যারেক্টার) দিয়ে রিপ্লেস করা হয়েছে। দৈর্ঘ্যের পার্থক্য / ৩ = وقوع সংখ্যা। এখানে সরলীকৃত ফর্মুলা ব্যবহার করা হয়েছে।