MySQL-এ আলাদা আলাদা কলামে থাকা দিন, মাস এবং বছরের মানগুলো থেকে একটি পুরো তারিখ (Date) তৈরি করার জন্য বিল্ট-ইন STR_TO_DATE() ফাংশন ব্যবহার করা হয়। এটি CONCAT() এবং LPAD() ফাংশনসমূহের সাথে মিশিয়ে সঠিক ফরম্যাটে তারিখ রূপান্তর করে।
সিনট্যাক্স
SELECT STR_TO_DATE(
CONCAT(`Year`, '-', LPAD(`Month`, 2, '0'), '-', LPAD(`Day`, 2, '0')),
'%Y-%m-%d'
) AS `FullDate` FROM `your_table_name`;
ব্যাখ্যা:
CONCAT(): বছর, মাস, দিনকে হাইফেন দিয়ে যুক্ত করে একটি স্ট্রিং তৈরি করে।LPAD(..., 2, '0'): এক অঙ্কের মাস বা দিনের সময় বামপাশে শূন্য যোগ করে দুটি অঙ্ক নিশ্চিত করে (যেমন ৬ → ০৬)।STR_TO_DATE(..., '%Y-%m-%d'): স্ট্রিংটি MySQL-এর стандарт DATE ফরম্যাটে রূপান্তর করে।
উদাহরণ: টেবিল তৈরি ও ডেটা ইনসার্ট
CREATE TABLE `DateCreateDemo` (
`Day` VARCHAR(2),
`Month` VARCHAR(2),
`Year` VARCHAR(4)
);
INSERT INTO `DateCreateDemo` VALUES
('15', '12', '2018'),
('10', '11', '2016'),
('12', '6', '2017'),
('9', '8', '2019'),
('10', '5', '2020');
তালিকা দেখুন
SELECT * FROM `DateCreateDemo`;
আউটপুট:
+------+-------+------+
| Day | Month | Year |
+------+-------+------+
| 15 | 12 | 2018 |
| 10 | 11 | 2016 |
| 12 | 6 | 2017 |
| 9 | 8 | 2019 |
| 10 | 5 | 2020 |
+------+-------+------+
তারিখ তৈরি করার কোয়েরি
SELECT STR_TO_DATE(
CONCAT(`Year`, '-', LPAD(`Month`, 2, '0'), '-', LPAD(`Day`, 2, '0')),
'%Y-%m-%d'
) AS `DateDemo` FROM `DateCreateDemo`;
ফলাফল:
+------------+
| DateDemo |
+------------+
| 2018-12-15 |
| 2016-11-10 |
| 2017-06-12 |
| 2019-08-09 |
| 2020-05-10 |
+------------+
টিপস: কলামের ডেটা টাইপ যদি INTEGER হয়, তবুও LPAD() ব্যবহার করাই ভালো, কারণ এটি স্ট্রিং হিসেবে বামপাশে শূন্য প্যাড করে।