অ্যালফানিউমেরিক ডেটা (যেমন S/TU/100, S/TU/10) সঠিক ক্রমে সর্ট করতে হলে স্ট্রিং-এর чисসিক অংশ আলাদা করে নম্বর হিসেবে বিবেচনা করতে হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> StudentId VARCHAR(100)
-> );
Query OK, 0 rows affected (1.54 sec)
mysql> INSERT INTO DemoTable VALUES('S/TU/100');
mysql> INSERT INTO DemoTable VALUES('S/TU/1000');
mysql> INSERT INTO DemoTable VALUES('S/TU/10');
ডিফল্ট সর্ট (স্ট্রিং হিসেবে)
+-----------+ | StudentId | +-----------+ | S/TU/100 | | S/TU/1000 | | S/TU/10 | +-----------+
সঠিক নিউমেরিক সর্ট করার কোয়েরি
mysql> SELECT StudentId FROM DemoTable
-> WHERE StudentId LIKE 'S%'
-> ORDER BY SUBSTRING(StudentId, 1, 9), SUBSTRING(StudentId, 10) * 1;
আউটপুট (সঠিক ক্রম):
+-----------+ | StudentId | +-----------+ | S/TU/10 | | S/TU/100 | | S/TU/1000 | +-----------+
ব্যাখ্যা: SUBSTRING(StudentId, 10) * 1 দিয়ে স্ট্রিংকে নম্বরে কনভার্ট করা হয়েছে, ফলে ১০, ১০০, ১০০০ — সঠিক সংখ্যাসools ক্রমে সাজা হয়েছে।