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

MySQL-এ DATE_ADD ও WEEKDAY ব্যবহার করে আগামী রবিবারের তারিখ বের করা

যেকোনো তারিখ থেকে আগামী রবিবারের তারিখ বের করতে WEEKDAY() ফাংশন এবং তারিখ গাণিতিক ব্যবহার করা হয়। MySQL-এ WEEKDAY() সোমবারের জন্য ০, রবিবারের জন্য ৬ রিটার্ন করে।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> create table DemoTable(GetSundayDate date);
Query OK, 0 rows affected (0.44 sec)
mysql> insert into DemoTable values('2019-08-07');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2018-09-05');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values('2019-09-12');
Query OK, 1 row affected (0.17 sec)

রেকর্ড দেখানো

mysql> select * from DemoTable;

আউটপুট:

+---------------+
| GetSundayDate |
+---------------+
| 2019-08-07    |
| 2018-09-05    |
| 2019-09-12    |
+---------------+
3 rows in set (0.00 sec)

আগামী রবিবারের তারিখ বের করা

mysql> SELECT DATE(GetSundayDate + INTERVAL (6 - WEEKDAY(GetSundayDate)) DAY) 
AS ComingSundayDate FROM DemoTable;

ফলাফল:

+------------------+
| ComingSundayDate |
+------------------+
| 2019-08-11       |
| 2018-09-09       |
| 2019-09-15       |
+------------------+
3 rows in set (0.00 sec)

ফর্মুলা ব্যাখ্যা

  • WEEKDAY(date): সোমবার=০, মঙ্গলবার=১, ..., রবিবার=৬
  • 6 - WEEKDAY(date): রবিবার পর্যন্ত বাকি দিনের সংখ্যা
  • যদি আজ রবিবার হয় (WEEKDAY=৬), তবে 6-6=0, অর্থাৎ আজই রবিবার।
  • INTERVAL n DAY: তারিখে n দিন যোগ করে।

বিকল্প: DAYOFWEEK()

DAYOFWEEK() রবিবার=১, সোমবার=২, ..., শনিবার=৭ রিটার্ন করে। সেক্ষেত্রে ফর্মুলা হবে: INTERVAL (8 - DAYOFWEEK(date)) DAY।

  1. MySQL-এ information_schema.tables দিয়ে সব টেবিলের নাম এক লাইনে দেখানো (GROUP_CONCAT)

  2. MySQL-এ BETWEEN দিয়ে দ্রুত ডেটা রেঞ্জ সার্চ করা

  3. MySQL에서 날짜 레코드로부터 월의 첫날과 마지막 날 구하기

  4. MySQL-এ DATE_ADD ব্যবহার করে টেবিলের তারিখ আপডেট করা (বছর যোগ/বিয়োগ)