MySQL-এ INTEGER মানকে নির্দিষ্ট প্রস্থের স্ট্রিং-এ রূপান্তর করে শুরুতে শূন্য (zero-padding) যোগ করতে LPAD() এবং CONVERT() বা CAST() ব্যবহার করুন।
সিনট্যাক্স
SELECT LPAD(CONVERT(int_column, CHAR(N)), total_width, '0') AS padded_value
FROM table_name;
উদাহরণ
CREATE TABLE padding_demo (number INT);
INSERT INTO padding_demo VALUES (78), (560), (888995), (999994);
১০ ক্যারেক্টার প্রস্থে জিরো প্যাডিং
SELECT LPAD(CONVERT(number, CHAR(8)), 10, '0') AS padding_with_zeros
FROM padding_demo;
ফলাফল
+------------------+
| padding_with_zeros|
+------------------+
| 0000000078 |
| 0000000560 |
| 0000888995 |
| 0000999994 |
+------------------+
ফাংশন ব্যাখ্যা
CONVERT(number, CHAR(8))— ইন্টিজারকে স্ট্রিং-এ কনভার্ট (৮ ক্যারেক্টার প্রস্থ)LPAD(str, len, padstr)— স্ট্রিং-এর বামেpadstrযোগ করেlenদৈর্ঘ্য করে
বিকল্প: FORMAT() ফাংশন (দশমিক পয়েন্ট সহ)
SELECT FORMAT(number, 0) FROM padding_demo; -- কমা সেপারেটর যোগ করে
-- 78, 560, 888,995, 999,994
ZEROFILL অ্যাট্রিবিউট (কলাম লেভেলে, অটো প্যাডিং)
CREATE TABLE zerofill_demo (
id INT(5) ZEROFILL -- ৫ ডিজিট, অটো জিরো প্যাড
);
INSERT INTO zerofill_demo VALUES (1), (42), (999);
SELECT * FROM zerofill_demo;
+-------+
| id |
+-------+
| 00001 |
| 00042 |
| 00999 |
+-------+
নোট: ZEROFILL স্বয়ংক্রিয়ভাবে UNSIGNED করে। MySQL 8.0.17+ এ ডিপ্রিকেটেড (ফিউচারে রিমুভ হতে পারে)।
printf-স্টাইল (MySQL 8.0.13+)
SELECT FORMAT(number, 0) AS formatted,
LPAD(CAST(number AS CHAR), 10, '0') AS zero_padded
FROM padding_demo;
যদি মান ইতিমধ্যে স্ট্রিং হয়
SELECT LPAD(string_col, 10, '0') FROM table_name;