การใช้ INTERVAL ร่วมกับ CURRENT_DATE() สำหรับการกรองข้อมูลตามช่วงเวลา
เพื่อดึงข้อมูลที่มีวันที่อยู่ในช่วง 8 เดือนย้อนหลังจากวันนี้ ใช้เงื่อนไข WHERE ร่วมกับ INTERVAL 8 MONTH:
SELECT * FROM yourTableName WHERE yourColumnName >= (CURRENT_DATE() - INTERVAL 8 MONTH);
ตัวอย่างสมบูรณ์
สมมติว่าวันนี้คือ 2018-02-06
สร้างตารางและเพิ่มข้อมูลตัวอย่าง:
mysql> CREATE TABLE DemoTable (
StudentName VARCHAR(100),
AdmissionDate DATE
);
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable VALUES
('John', '2019-01-21'),
('Chris', '2019-10-04'),
('Robert', '2018-02-01'),
('David', '2019-07-07');
Query OK, 4 rows affected
ข้อมูลทั้งหมดในตาราง:
mysql> SELECT * FROM DemoTable;
+-------------+---------------+ | StudentName | AdmissionDate | +-------------+---------------+ | John | 2019-01-21 | | Chris | 2019-10-04 | | Robert | 2018-02-01 | | David | 2019-07-07 | +-------------+---------------+ 4 rows in set (0.00 sec)
คิวรี่ดึงข้อมูล 8 เดือนย้อนหลัง (จากวันที่ 2018-02-06 จะได้ช่วง 2017-06-06 ถึง 2018-02-06):
mysql> SELECT * FROM DemoTable WHERE AdmissionDate >= (CURRENT_DATE() - INTERVAL 8 MONTH);
+-------------+---------------+ | StudentName | AdmissionDate | +-------------+---------------+ | John | 2019-01-21 | | Chris | 2019-10-04 | | David | 2019-07-07 | +-------------+---------------+ 3 rows in set (0.00 sec)
ผลลัพธ์: Robert (2018-02-01) ถูกตัดออกเพราะเก่ากว่า 8 เดือน
การปรับเปลี่ยนช่วงเวลา
สามารถเปลี่ยนช่วงเวลาได้ตามต้องการ:
INTERVAL 6 MONTH- 6 เดือนINTERVAL 1 YEAR- 1 ปีINTERVAL 30 DAY- 30 วัน