কম্পিউটার টিউটোরিয়াল

MySQL-এ স্ল্যাশের পরের সংখ্যার বাম পাশে শূন্য প্যাডিং করে নম্বর-স্ট্রিং ফরম্যাটিং

সারণি তৈরি করা

প্রথমে একটি ডেমো সারণি তৈরি করা যাক:

mysql> create table DemoTable1369
    -> (
    -> BatchId varchar(20)
    -> );
Query OK, 0 rows affected (0.46 sec)

রেকর্ড যোগ করা

স্ল্যাশ দিয়ে বিভক্ত সংখ্যাগুলো ইনসার্ট করা:

mysql> insert into DemoTable1369 values('19/5');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1369 values('19/78');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1369 values('19/567');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1369 values('19/1234');
Query OK, 1 row affected (0.11 sec)

রেকর্ড প্রদর্শন

mysql> select * from DemoTable1369;

আউটপুট:

+---------+
| BatchId |
+---------+
| 19/5    |
| 19/78   |
| 19/567  |
| 19/1234 |
+---------+
4 rows in set

নম্বর-স্ট্রিং ফরম্যাটিং কোয়েরি

স্ল্যাশের পরের অংশে শূন্য প্যাড করা। সর্বোচ্চ মান '১২৩৪' ৪ অঙ্কের, তাই মোট ফিল্ড প্রস্থ ৪:

mysql> select
    -> concat(left(BatchId,3), lpad(substring(BatchId, 4), 4, '0'))
    -> from DemoTable1369;

ফলাফল

+--------------------------------------------------------------+
| concat(left(BatchId,3), lpad(substring(BatchId, 4), 4, '0')) |
+--------------------------------------------------------------+
| 19/0005                                                        |
| 19/0078                                                        |
| 19/0567                                                        |
| 19/1234                                                        |
+--------------------------------------------------------------+
4 rows in set (0.00 sec)

ব্যাখ্যা

  • LEFT(BatchId,3) — '১৯/' অংশ বের করে (প্রথম ৩ অক্ষর)
  • SUBSTRING(BatchId, 4) — স্ল্যাশের পরের সংখ্যা বের করে
  • LPAD(..., 4, '0') — বাম পাশে শূন্য যোগ করে ৪ অঙ্ক করে
  • CONCAT() — দুটি অংশ জড়িয়ে দেয়

এই পদ্ধতিতে স্ল্যাশের পরের সংখ্যাগুলো একই প্রস্থে আনা যায়, যা রিপোর্টিং বা সোর্টিংয়ের জন্য উপযোগী।

  1. MySQL-এ VARCHAR কলামে স্ট্রিং ও সংখ্যা মিশ্রিত ডেটা সর্ট করা (ORDER BY + 0)

  2. MySQL রেগুলার এক্সপ্রেশন: স্ট্রিংয়ে অঙ্ক (ডিজিট) ম্যাচ করা [0-9] ব্যবহার করে

  3. MySQL-এ SUBSTRING_INDEX ব্যবহার করে হাইফনের পরের সংখ্যা মুছে ফেলা

  4. MySQL-এ সংখ্যা মিশ্র স্ট্রিং সর্ট করুন