ใช้ฟังก์ชัน WEEKDAY() คำนวณวันอาทิตย์ข้างหน้า (WEEKDAY: 0=จันทร์ ... 6=อาทิตย์)
สร้างตารางและเพิ่มวันที่
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 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)
ตรรกะ: 6 - WEEKDAY(date) = จำนวนวันที่ต้องบวกเพื่อไปถึงวันอาทิตย์ (ถ้าวันนั้นเป็นอาทิตย์อยู่แล้ว จะได้ 0)