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

MySQL-এ ২টির বেশি দশমিক স্থান वाले রো সিলেক্ট করা


MySQL-এ SUBSTR() ও INSTR() দিয়ে দশমিক স্থান গণনা

যদি কলামটি VARCHAR টাইপের হয় এবং সেখানে ২টির বেশি দশমিক স্থানযুক্ত মান খুঁজে বের করতে হয়, তবে SUBSTR() এবং INSTR() ফাংশন কম্বাইন করে ব্যবহার করা যায়।

সিনট্যাক্স

SELECT * FROM yourTableName 
WHERE LENGTH(SUBSTR(yourColumnName, INSTR(yourColumnName, '.'))) > 3;

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি:

mysql> CREATE TABLE selectRows2DecimalPlacesDemo (
    -> Amount VARCHAR(100)
    -> );

ডেটা ইনসার্ট:

mysql> INSERT INTO selectRows2DecimalPlacesDemo VALUES('234.5678');
mysql> INSERT INTO selectRows2DecimalPlacesDemo VALUES('19.50');
mysql> INSERT INTO selectRows2DecimalPlacesDemo VALUES('23.456');
mysql> INSERT INTO selectRows2DecimalPlacesDemo VALUES('12.123');

সব ডেটা দেখি:

mysql> SELECT * FROM selectRows2DecimalPlacesDemo;
+----------+
| Amount   |
+----------+
| 234.5678 |
| 19.50    |
| 23.456   |
| 12.123   |
+----------+

২টির বেশি দশমিক স্থান والے রো খুঁজে বের করি:

mysql> SELECT * FROM selectRows2DecimalPlacesDemo 
    -> WHERE LENGTH(SUBSTR(Amount, INSTR(Amount, '.'))) > 3;

ফলাফল:

+----------+
| Amount   |
+----------+
| 234.5678 |
| 23.456   |
| 12.123   |
+----------+

ব্যাখ্যা: INSTR(Amount, '.') দশমিক চিহ্নের পজিশন বের করে। SUBSTR() সেখান থেকে শেষ পর্যন্ত নেয়। LENGTH() সেটির দৈর্ঘ্য বের করে। দশমিক চিহ্ন সহ ৩-এর বেশি মানে ২টির বেশি দশমিক অঙ্ক।

নোট: সংখ্যাসূচক কলামে (DECIMAL/FLOAT) এই পদ্ধতি কাজ নাও করতে পারে। সেক্ষেত্রে গাণিতিক পদ্ধতি ব্যবহার করতে হয়।

  1. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  2. MySQL-এ LIMIT ও OFFSET ব্যবহার করে ব্যাচewise রো সিলেক্ট করা

  3. MySQL-এ একাধিক টেবিল থেকে COUNT(*) একসাথে বের করা (DUAL টেবিল ব্যবহার করে)

  4. MySQL-এ GROUP BY HAVING COUNT(*) ব্যবহার করে ডুপ্লিকেট মান খুঁজুন