DATETIME বা DATE কলামে নির্দিষ্ট দিন যোগ করে ভবিষ্যতের তারিখ বের করতে DATE_ADD() বা INTERVAL Синট্যাক্স ব্যবহার করা হয়।
টেবিল ও ডেটা তৈরি
mysql> CREATE TABLE DemoTable1930 (DueTime DATETIME);
mysql> INSERT INTO DemoTable1930 VALUES
('2017-10-21'), ('2019-12-14'), ('2018-11-26'), ('2014-06-16');
ডেটা যাচাই
mysql> SELECT * FROM DemoTable1930;
+---------------------+ | DueTime | +---------------------+ | 2017-10-21 00:00:00 | | 2019-12-14 00:00:00 | | 2018-11-26 00:00:00 | | 2014-06-16 00:00:00 | +---------------------+
কোয়েরি: ৪৫ দিন যোগ করা
mysql> SELECT DueTime, DATE_ADD(DueTime, INTERVAL 45 DAY) AS ManyDays
FROM DemoTable1930;
আউটপুট:
+---------------------+---------------------+ | DueTime | ManyDays | +---------------------+---------------------+ | 2017-10-21 00:00:00 | 2017-12-05 00:00:00 | | 2019-12-14 00:00:00 | 2020-01-28 00:00:00 | | 2018-11-26 00:00:00 | 2019-01-10 00:00:00 | | 2014-06-16 00:00:00 | 2014-07-31 00:00:00 | +---------------------+---------------------+
বিকল্প সিনট্যাক্স
DATE_ADD(DueTime, INTERVAL 45 DAY)— স্ট্যান্ডার্ড।DueTime + INTERVAL 45 DAY— শর্টহ্যান্ড, একই কাজ করে।DATE_SUB(DueTime, INTERVAL 45 DAY)— দিন বিয়োগ করতে।
অন্যান্য ইন্টারভাল ইউনিট
| ইউনিট | উদাহরণ |
|---|---|
| DAY | INTERVAL 45 DAY |
| MONTH | INTERVAL 3 MONTH |
| YEAR | INTERVAL 1 YEAR |
| HOUR | INTERVAL 2 HOUR |
| MINUTE | INTERVAL 30 MINUTE |
পারফরম্যান্স টিপ
WHERE ক্লজে `DATE_ADD` ব্যবহার করলে ইন্ডেক্স ব্যবহার হয় না। বদলে:
WHERE DueTime >= '2017-10-21' AND DueTime < DATE_ADD('2017-10-21', INTERVAL 45 DAY)