MySQL-এ CONCAT() এবং RIGHT() ফাংশন ব্যবহার করে সংখ্যার বামপাশে শূন্য প্যাডিং করে হাইফেন-সহ ফরম্যাট (০০০-১০০) তৈরি করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable829(SerialNumber int); Query OK, 0 rows affected (0.64 sec)
mysql> insert into DemoTable829 values(100); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable829 values(101); Query OK, 1 row affected (0.26 sec) mysql> insert into DemoTable829 values(102); Query OK, 1 row affected (0.08 sec) mysql> insert into DemoTable829 values(103); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable829 values(104); Query OK, 1 row affected (0.60 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable829;
+--------------+ | SerialNumber | +--------------+ | 100 | | 101 | | 102 | | 103 | | 104 | +--------------+ 5 rows in set (0.00 sec)
০০০-১০০ ফরম্যাটে রূপান্তর
mysql> select RIGHT(CONCAT('000-', SerialNumber), 7) from DemoTable829;
+----------------------------------------+
| RIGHT(CONCAT('000-', SerialNumber), 7) |
+----------------------------------------+
| 000-100 |
| 000-101 |
| 000-102 |
| 000-103 |
| 000-104 |
+----------------------------------------+
5 rows in set (0.00 sec)
ব্যাখ্যা
CONCAT('000-', SerialNumber)- '000-' প্রিফিক্স যোগ করে: '000-100', '000-101'...RIGHT(..., 7)- ডানপাশ থেকে ৭ ক্যারেক্টার নেয়: '000-100' (৭ ক্যারেক্টার)- ফলাফল: সবসময় '000-XXX' ফরম্যাট (৩ ডিজিটের জন্য)
বিকল্প পদ্ধতি: LPAD + CONCAT
SELECT CONCAT('000-', LPAD(SerialNumber, 3, '0')) FROM DemoTable829;
এটি আরও স্পষ্ট এবং এক্সটেনসিবল (ডিজিট বড়ালে সহজে মোডিফাই করা যায়)।
জেনারেল ফরম্যাট ফাংশন (MySQL 8.0+)
SELECT FORMAT(SerialNumber, 0) -- 100 → '100' (কমা সেপারেটর যোগ করে) -- কাস্টম ফরম্যাটের জন্য LPAD/CONCAT ही ভালো
ব্যবহারিক প্রয়োগ
- ইনভয়েস নম্বর:
INV-000100 - কর্মচারী আইডি:
EMP-000100 - প্রোডাক্ট SKU:
SKU-000100
SELECT CONCAT('INV-', LPAD(id, 6, '0')) as InvoiceNo FROM orders;