MySQL-এ DATE বা DATETIME কলামের বছর (Year) অংশ পরিবর্তন করতে UPDATE সাথে DATE_FORMAT() ফাংশন ব্যবহার করুন।
সিনট্যাক্স
UPDATE `table_name`
SET `date_col` = DATE_FORMAT(`date_col`, 'YYYY-%m-%d');
উদাহরণ
CREATE TABLE `ChangeYear` (
`id` INT NOT NULL AUTO_INCREMENT,
`ArrivalTime` DATE,
PRIMARY KEY (`id`)
);
INSERT INTO `ChangeYear` (`ArrivalTime`) VALUES
(DATE_ADD(NOW(), INTERVAL -2 YEAR)), ('2012-10-24'),
('2016-03-21'), ('2015-04-24'), (CURDATE());
সব রোয়ের বছর ২০১৯ করে দিন
UPDATE `ChangeYear`
SET `ArrivalTime` = DATE_FORMAT(`ArrivalTime`, '2019-%m-%d');
ফলাফল (মাস-দিন অপরিবর্তিত, বছর ২০১৯):
+----+-------------+
| id | ArrivalTime |
+----+-------------+
| 1 | 2019-01-07 |
| 2 | 2019-10-24 |
| 3 | 2019-03-21 |
| 4 | 2019-04-24 |
| 5 | 2019-01-07 |
+----+-------------+
বিকল্প: UPDATE t SET d = DATE_ADD(d, INTERVAL (2019 - YEAR(d)) YEAR); — এই পদ্ধতিতে মहीন-দিন রক্ষায় এবং লিপ ইয়ারও হ্যান্ডেল হয়।