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করুন - ইনডেক্স ব্যবহার নাও করতে পারে (ফাংশন কল হয়) — বড় টেবিলে কম্পিউটেড কলাম যোগ করুন