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

คิวรี่ MySQL แสดงข้อมูลหลังวันที่กำหนด (Greater Than or Equal Date)

การกรองข้อมูลตามวันที่ด้วยเงื่อนไข >=

ใช้ตัวดำเนินการเปรียบเทียบ >= (มากกว่าหรือเท่ากับ) ร่วมกับคอลัมน์ชนิด 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 เร็วขึ้น