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

MySQL-এ DATE_ADD এবং MONTH() দিয়ে শুধু মাস আপডেট করা

MySQL-এ DATE_ADD() এবং MONTH() ফাংশন ব্যবহার করে তারিখ কলামের শুধু মাস অংশ আপডেট করা যায় (বছর এবং দিন অপরিবর্তিত রাখা)।

উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable861(AdmissionDate date); 
Query OK, 0 rows affected (1.22 sec)
mysql> insert into DemoTable861 values('2019-01-21'); 
Query OK, 1 row affected (0.31 sec) 
mysql> insert into DemoTable861 values('2018-01-01'); 
Query OK, 1 row affected (0.49 sec) 
mysql> insert into DemoTable861 values('2016-01-02'); 
Query OK, 1 row affected (1.27 sec) 
mysql> insert into DemoTable861 values('2018-01-14'); 
Query OK, 1 row affected (0.47 sec)

সকল রেকর্ড দেখানো (সব জানুয়ারি)

mysql> select * from DemoTable861;
+---------------+
| AdmissionDate |
+---------------+
| 2019-01-21    |
| 2018-01-01    |
| 2016-01-02    |
| 2018-01-14    |
+---------------+
4 rows in set (0.00 sec)

মাস ১ (জানুয়ারি) থেকে ১ মাস পেছনে (ডিসেম্বর) আপডেট

mysql> update DemoTable861 
    set AdmissionDate=date_add(AdmissionDate,Interval -1 month) 
    where month(AdmissionDate)=01; 
Query OK, 4 rows affected (0.42 sec) 
Rows matched: 4  Changed: 4  Warnings: 0

আপডেট後の রেকর্ড দেখানো (সব ডিসেম্বর)

mysql> select * from DemoTable861;
+---------------+
| AdmissionDate |
+---------------+
| 2018-12-21    |
| 2017-12-01    |
| 2015-12-02    |
| 2017-12-14    |
+---------------+
4 rows in set (0.00 sec)

ব্যাখ্যা

  • MONTH(AdmissionDate)=01 - জানুয়ারি (০১) মাসवाले রো ফিল্টার
  • DATE_ADD(AdmissionDate, INTERVAL -1 MONTH) - ১ মাস বিয়োগ (পেছনে যাওয়া)
  • দিন (২১, ০১, ০২, ১৪) এবং বছর (২০১৯, ২০১৮, ২০১৬) অপরিবর্তিত
  • জানুয়ারি-১ তারিখে ১ মাস বিয়োগ করলে গত বছরের ডিসেম্বর-৩১ হয় (MySQL হ্যান্ডেল করে)

অন্যান্য মাস ম্যানিপুলেশন

MySQL 8.0+ এ আরও সহজ

UPDATE DemoTable861 
SET AdmissionDate = DATE_ADD(AdmissionDate, INTERVAL -1 MONTH)
WHERE MONTH(AdmissionDate) = 1;

দ্রষ্টব্য: DATE_ADD নেগেটিভ ইন্টারভ্যাল সমর্থন করে (MySQL ৫.৬+), তাই INTERVAL -1 MONTH লিখলেই চলে।

  1. MySQL-এ YYYY-MM-DD ফরম্যাটকে DD Month, YYYY-এ রূপান্তর করা (DATE_FORMAT)

  2. MySQL-এ টাইমস্ট্যাম্পকে মাসে কনভার্ট করা

  3. MySQL에서 COALESCE로 NULL인 컬럼만 다른 컬럼 값으로 채우기

  4. MySQL-এ DATE_FORMAT ব্যবহার করে টাইমস্ট্যাম্প থেকে মাসের নাম বের করা

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
উদ্দেশ্যকোয়েরি
মাস ১ বাড়ানোDATE_ADD(date, INTERVAL 1 MONTH)
নির্দিষ্ট মাসে সেট (যেমন ০৬)DATE_ADD(date, INTERVAL (6 - MONTH(date)) MONTH)
বছরের শুরুতে যাওয়াDATE_SUB(date, INTERVAL (MONTH(date)-1) MONTH)
মাসের শেষ দিনLAST_DAY(date)