MySQL অর্পনೀತভাবে কলামকে সংখ্যায় কনভার্ট করে। সিনট্যাক্স:
select * from yourTableName order by yourColumnName*1;
প্রথমে একটি টেবিল তৈরি করি (VARCHAR টাইপের ID):
mysql> create table DemoTable1441 (
-> Id varchar(30)
-> );
Query OK, 0 rows affected (0.53 sec)
রেকর্ড ইনসার্ট করি (স্ট্রিং আকারে সংখ্যা):
mysql> insert into DemoTable1441 values('301');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1441 values('23');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1441 values('345');
Query OK, 1 row affected (0.42 sec)
mysql> insert into DemoTable1441 values('10');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1441 values('38');
Query OK, 1 row affected (0.11 sec)
সব রেকর্ড দেখি (স্ট্রিং সর্ট):
mysql> select * from DemoTable1441;
আউটপুট (লেক্সিকোগ্রাফিক্যালি সর্টেড):
+------+ | Id | +------+ | 301 | | 23 | | 345 | | 10 | | 38 | +------+ 5 rows in set (0.00 sec)
ORDER BY id*1 ব্যবহার করে সংখ্যাসহ সর্ট:
mysql> select * from DemoTable1441
-> order by id*1;
আউটপুট (সংখ্যা অনুযায়ী সর্টেড):
+------+ | Id | +------+ | 10 | | 23 | | 38 | | 301 | | 345 | +------+ 5 rows in set (0.00 sec)
মূলনীতি: স্ট্রিং কলামে সংখ্যা থাকলে *1 গুণ করলে সেটি নাম্বার হিসেবে ব \(>\)হয়ে সঠিক সর্ট হয়।