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

MySQL-এ দিন, মাস, বছরের ফিল্ড থেকে তারিখ তৈরি করা

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() ব্যবহার করাই ভালো, কারণ এটি স্ট্রিং হিসেবে বামপাশে শূন্য প্যাড করে।

  1. PHP MySQL-এ টাইমস্ট্যাম্প থেকে দিন/মাস/বছর বের করা

  2. MySQL কোয়েরি: 00:00 থেকে আজকের তারিখ পর্যন্ত ডেটা নির্বাচন করা

  3. MySQL-এ DATE_FORMAT দিয়ে তারিখ কলাম থেকে মাসের নাম এবং বছর দেখানো

  4. MySQL에서 날짜 레코드로부터 월의 첫날과 마지막 날 구하기