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

MySQL-এ VARCHAR নাম্বারিক কলাম সর্ট (CAST AS DECIMAL)

VARCHAR কলামে সংখ্যা স্ট্রিং আকারে থাকলে সঠিক নম্বরিক সর্ট করতে CAST(... AS DECIMAL) ব্যবহার করুন।

উদাহরণ

mysql> CREATE TABLE DemoTable726 (Value VARCHAR(100));
Query OK, 0 rows affected (0.60 sec)

mysql> INSERT INTO DemoTable726 VALUES ('100'), ('10'), ('110'), ('2000'), ('1000');
Query OK, 5 rows affected

স্ট্রিং সর্ট (ভুল)

mysql> SELECT * FROM DemoTable726 ORDER BY Value;
+-------+
| Value |
+-------+
| 10    |
| 100   |
| 1000  |
| 110   |
| 2000  |
+-------+

নম্বরিক সর্ট (সঠিক) - ASC

mysql> SELECT * FROM DemoTable726 ORDER BY CAST(Value AS DECIMAL(20,2));
+-------+
| Value |
+-------+
| 10    |
| 100   |
| 110   |
| 1000  |
| 2000  |
+-------+

নম্বরিক সর্ট - DESC

mysql> SELECT * FROM DemoTable726 ORDER BY CAST(Value AS DECIMAL(20,2)) DESC;
+-------+
| Value |
+-------+
| 2000  |
| 1000  |
| 110   |
| 100   |
| 10    |
+-------+

টিপস

  • DECIMAL(20,2) → ২০ অঙ্ক মোট, ২ দশমিক (প্রয়োজনে বড় করুন)
  • CAST(Value AS UNSIGNED) → পূর্ণসংখ্যায় কনভার্ট (দশমিক কাটায়)
  • স্থায়ী সমাধান: কলাম টাইপ INT বা DECIMAL করুন
  • ইনডেক্স ব্যবহার নাও করতে পারে (ফাংশন কল হয়) — বড় টেবিলে কম্পিউটেড কলাম যোগ করুন
  1. MySQL-এ ORDER BY FIELD() দিয়ে أربিট্রারি কিওয়ার্ড অনুযায়ী সর্ট

  2. MySQL-এ ডোমেইন নাম সর্ট করা

  3. MySQL-এ SHOW CREATE TABLE দিয়ে ক্যাসকেড (CASCADE) দেখানো

  4. MySQL-এ TIME_FORMAT(), SUBSTRING(), CONCAT() ব্যবহার করে VARCHAR 'টাইম' কে রিয়েল টাইমে কনভার্ট করুন