তারিখ থেকে বিয়োগ করার জন্য MySQL DATE_SUB() ফাংশন ব্যবহার করা হয়। প্রথমে একটি টেবিল তৈরি করি:
mysql> create table DemoTable1434 (
-> ArrivalDatetime datetime
-> );
Query OK, 0 rows affected (3.14 sec)
রেকর্ড ইনসার্ট করি:
mysql> insert into DemoTable1434 values('2019-09-30 21:10:00');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1434 values('2018-09-30 22:20:40');
Query OK, 1 row affected (0.33 sec)
mysql> insert into DemoTable1434 values('2017-09-30 23:10:00');
Query OK, 1 row affected (0.19 sec)
সব রেকর্ড দেখি:
mysql> select * from DemoTable1434;
আউটপুট:
+---------------------+ | ArrivalDatetime | +---------------------+ | 2019-09-30 21:10:00 | | 2018-09-30 22:20:40 | | 2017-09-30 23:10:00 | +---------------------+ 3 rows in set (0.00 sec)
কারেন্ট টাইম থেকে ১ ঘন্টা বিয়োগ করে আপডেট করার কোয়েরি:
mysql> update DemoTable1434
-> set ArrivalDatetime=date_sub(now(),interval 1 hour);
Query OK, 3 rows affected (0.19 sec)
Rows matched: 3 Changed: 3 Warnings: 0
কারেন্ট ডেট-টাইম:
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-09-30 21:16:48 | +---------------------+ 1 row in set (0.00 sec)
আবার টেবিল চেক করি:
mysql> select * from DemoTable1434;
আউটপুট (সব রো একই সময় দেখাচ্ছে):
+---------------------+ | ArrivalDatetime | +---------------------+ | 2019-09-30 20:16:39 | | 2019-09-30 20:16:39 | | 2019-09-30 20:16:39 | +---------------------+ 3 rows in set (0.00 sec)
নোট: এই কোয়েরি সব রোকে একই সময়ে আপডেট করবে। প্রতিটি রোয়ের জন্য আলাদা গাণিতিক করতে হলে ভিন্ন পদ্ধতি লাগবে।