การกรองข้อมูลตามวันที่ด้วยเงื่อนไข >=
ใช้ตัวดำเนินการเปรียบเทียบ >= (มากกว่าหรือเท่ากับ) ร่วมกับคอลัมน์ชนิด DATE หรือ DATETIME เพื่อดึงข้อมูลตั้งแต่วันที่กำหนดเป็นต้นไป
Syntax
SELECT * FROM table_name WHERE date_column >= 'YYYY-MM-DD';
ตัวอย่างการใช้งาน
สร้างตารางข้อมูลลูกค้าและวันที่จัดส่ง:
mysql> CREATE TABLE DemoTable708 (
CustomerName VARCHAR(100),
ShippingDate DATE
);
Query OK, 0 rows affected (0.51 sec)
mysql> INSERT INTO DemoTable708 VALUES
('John', '2019-01-21'),
('Chris', '2019-03-24'),
('Robert', '2019-04-26'),
('David', '2019-07-22');
Query OK, 4 rows affected
ข้อมูลทั้งหมด:
mysql> SELECT * FROM DemoTable708;
+--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | John | 2019-01-21 | | Chris | 2019-03-24 | | Robert | 2019-04-26 | | David | 2019-07-22 | +--------------+--------------+ 4 rows in set (0.00 sec)
ดึงข้อมูลที่ ShippingDate ตั้งแต่ 2019-04-01 เป็นต้นไป:
mysql> SELECT * FROM DemoTable708 WHERE ShippingDate >= '2019-04-01';
+--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | Robert | 2019-04-26 | | David | 2019-07-22 | +--------------+--------------+ 2 rows in set (0.00 sec)
เคล็ดลับเพิ่มเติม
- ช่วงวันที่ (Range):
WHERE date_col BETWEEN '2019-01-01' AND '2019-12-31' - วันนี้:
WHERE date_col = CURDATE() - ย้อนหลัง N วัน:
WHERE date_col >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) - DATETIME comparison: MySQL เปรียบเทียบได้โดยตรง
datetime_col >= '2019-04-01'(ถือเป็น 00:00:00) - Index: คอลัมน์วันที่ควรมี Index เพื่อ Query เร็วขึ้น