หากต้องการสอบถาม MySQL ในสัปดาห์ปัจจุบัน คุณสามารถใช้ฟังก์ชัน YEARWEEK()
ไวยากรณ์มีดังนี้
SELECT *FROM yourTableName WHERE YEARWEEK(yourDateColumnName) =YEARWEEK(NOW());
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามในการสร้างตารางมีดังนี้
mysql> สร้างตาราง currentWeekDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20), -> UserPostDate date -> );Query OK, 0 แถวได้รับผลกระทบ (0.68 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังต่อไปนี้ −
mysql> แทรกลงในค่า currentWeekDemo (ชื่อผู้ใช้ UserPostDate) ('Carol', '2010-01-06'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า currentWeekDemo (ชื่อผู้ใช้ UserPostDate) ( 'Bob','2019-06-04');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า currentWeekDemo (ชื่อผู้ใช้ UserPostDate) ('David','2019-03-06'); แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า currentWeekDemo (ชื่อผู้ใช้, UserPostDate) ('Maxwell','2018-04-21'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังต่อไปนี้ −
mysql> เลือก *จาก currentWeekDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------+----------+--------------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | UserPostDate |+-------+----------+-------------+| 1 | แครอล | 2010-01-06 || 2 | บ๊อบ | 2019-06-04 || 3 | เดวิด | 2019-03-06 || 4 | แม็กซ์เวลล์ | 2018-04-21 |+-------+----------+-------------+4 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นวิธีค้นหา MySQL ในสัปดาห์ปัจจุบัน
mysql> เลือก *from currentWeekDemo WHERE YEARWEEK(UserPostDate) =YEARWEEK(NOW());
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------+----------+--------------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | UserPostDate |+-------+----------+-------------+| 3 | เดวิด | 2019-03-06 |+----------------+----------+--------------+1 แถวในชุด (0.05 วินาที)