Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หาวันอาทิตย์ที่จะถึงจากวันที่ในคอลัมน์ MySQL

ใช้ฟังก์ชัน 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)