MySQL-এ DATE_ADD() ফাংশন ব্যবহার করে INSERT করার সময়ই তারিখে মিনিট, ঘন্টা, দিন, মাস বা বছর যোগ করে মান সেট করা যায়, পরে UPDATE দরকার নয়।
উদাহরণ: টেবিল তৈরি
mysql> create table DemoTable816(DueDate datetime); Query OK, 0 rows affected (0.45 sec)
বিভিন্ন ইন্টারভ্যাল সহ ইনসার্ট
mysql> insert into DemoTable816 values(date_add(now(),interval 3 minute));
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable816 values(date_add('2018-01-21 00:00:00',interval 3 Hour));
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable816 values(date_add('2016-11-11 12:40:00',interval 3 Day));
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable816 values(date_add('2018-12-01 11:00:00',interval 3 Month));
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable816 values(date_add('2011-03-21 10:00:00',interval 3 Year));
Query OK, 1 row affected (0.16 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable816;
+---------------------+ | DueDate | +---------------------+ | 2019-08-03 13:08:43 | | 2018-01-21 03:00:00 | | 2016-11-14 12:40:00 | | 2019-03-01 11:00:00 | | 2014-03-21 10:00:00 | +---------------------+ 5 rows in set (0.00 sec)
ব্যাখ্যা
| ইনসার্ট | বেস তারিখ/সময় | যোগ করা | ফলাফল |
|---|---|---|---|
| ১ | NOW() (বর্তমান) | ৩ মিনিট | ২০১৯-০৮-০৩ ১৩:০৮:৪৩ |
| ২ | ২০১৮-০১-২১ ০০:০০:০০ | ৩ ঘন্টা | ২০১৮-০১-২১ ০৩:০০:০০ |
| ৩ | ২০১৬-১১-১১ ১২:৪০:০০ | ৩ দিন | ২০১৬-১১-১৪ ১২:৪০:০০ |
| ৪ | ২০১৮-১২-০১ ১১:০০:০০ | ৩ মাস | ২০১৯-০৩-০১ ১১:০০:০০ |
| ৫ | ২০১১-০৩-২১ ১০:০০:০০ | ৩ বছর | ২০১৪-০৩-২১ ১০:০০:০০ |
সিনট্যাক্স রেফারেন্স
DATE_ADD(date, INTERVAL expr unit) DATE_SUB(date, INTERVAL expr unit) -- বিয়োগের জন্য
ইন্টারভ্যাল ইউনিট
MICROSECOND,SECOND,MINUTE,HOURDAY,WEEK,MONTH,QUARTER,YEAR- সammansৃত:
SECOND_MICROSECOND,MINUTE_SECOND,HOUR_MINUTE,DAY_HOUR,YEAR_MONTH
লাভ: অ্যাপ্লিকেশন লেয়ারে ডেটা ক্যালকুলেট করিয়ে ইনসার্ট করার চেয়ে ডাটাবেস লেভেলে করলে ডেটা ইন্টিগ্রিটি রক্ষা থাকে এবং কোড সহজ হয়।