MySQL-এ SUBSTRING() ব্যবহার করে অক্ষর অনুযায়ী সাজানো
MySQL-এ সংখ্যা মিশ্র স্ট্রিং কলামকে শুধু অক্ষর অংশ দিয়ে সাজানোর জন্য SUBSTRING() এবং LOCATE() ফাংশন সংযুক্তে ব্যবহার করা হয়। নিচে ধাপে ধাপে উদাহরণ দেওয়া হলো:
১. টেবিল তৈরি করা
mysql> CREATE TABLE DemoTable (
Id VARCHAR(100)
);
Query OK, 0 rows affected (0.65 sec)
২. ডেটা ইনসার্ট করা
mysql> INSERT INTO DemoTable VALUES('456 John Smith');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('897 Adam Smith');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('1009 Bob Smith');
Query OK, 1 row affected (0.13 sec)
৩. সব রেকর্ড দেখা
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----------------+ | Id | +----------------+ | 456 John Smith | | 897 Adam Smith | | 1009 Bob Smith | +----------------+ 3 rows in set (0.00 sec)
৪. প্রথম স্পেসের পরের অংশ দিয়ে ORDER BY
mysql> SELECT * FROM DemoTable
ORDER BY SUBSTRING(Id, LOCATE(' ', Id));
ফলাফল:
+----------------+ | Id | +----------------+ | 897 Adam Smith | | 1009 Bob Smith | | 456 John Smith | +----------------+ 3 rows in set (0.05 sec)
ব্যাখ্যা
LOCATE(' ', Id)— প্রথম স্পেসের অবস্থান খুঁজে বের করে।SUBSTRING(Id, ...)— সেই পজিশন থেকে শেষ পর্যন্ত স্ট্রিং নেয় (যেমন: "John Smith", "Adam Smith")।- ফলস্বরূপ সাজানো হয়েছে: Adam → Bob → John (বর্ণানুক্রমিক)।
টিপস: যদি একাধিক স্পেস থাকে, তবে TRIM() বা SUBSTRING_INDEX() ব্যবহার করে আরও সঠিক পার্স করা যায়।