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

แสดงข้อมูลทั้งหมดยกเว้นรายการของวันที่ปัจจุบันใน MySQL

สร้างตารางตัวอย่าง

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(100),
    -> DueDate DATETIME
    -> );

เพิ่มข้อมูลตัวอย่าง (สมมติวันนี้คือ 2019-07-05)

mysql> INSERT INTO DemoTable VALUES('Chris', '2019-06-24');
mysql> INSERT INTO DemoTable VALUES('Chris', '2018-01-01');
mysql> INSERT INTO DemoTable VALUES('Robert', '2019-07-05');
mysql> INSERT INTO DemoTable VALUES('Carol', '2019-08-03');

แสดงข้อมูลทั้งหมด

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+--------+---------------------+
| Name   | DueDate             |
+--------+---------------------+
| Chris  | 2019-06-24 00:00:00 |
| Chris  | 2018-01-01 00:00:00 |
| Robert | 2019-07-05 00:00:00 |
| Carol  | 2019-08-03 00:00:00 |
+--------+---------------------+

คำสั่งเลือกข้อมูลยกเว้นวันนี้

mysql> SELECT * FROM DemoTable WHERE DATE(DueDate) != CURDATE();

ผลลัพธ์ (ไม่รวม Robert ที่มีวันที่ 2019-07-05):

+-------+---------------------+
| Name  | DueDate             |
+-------+---------------------+
| Chris | 2019-06-24 00:00:00 |
| Chris | 2018-01-01 00:00:00 |
| Carol | 2019-08-03 00:00:00 |
+-------+---------------------+

คำอธิบาย: ใช้ DATE() เพื่อดึงเฉพาะส่วนวันที่จาก DATETIME และเปรียบเทียบกับ CURDATE() (วันที่ปัจจุบัน) โดยใช้ != (ไม่เท่ากับ)