บทความนี้สาธิตการใช้ DATE() ร่วมกับ TRIM() เพื่อดึงเฉพาะส่วนวันที่จากคอลัมน์ DATETIME และเปรียบเทียบ โดยกำจัดช่องว่างที่อาจมีอยู่รอบค่า
สร้างตารางและข้อมูลทดสอบ (มีช่องว่างหน้า/หลังค่า)
mysql> CREATE TABLE DemoTable661 (Duedate DATETIME);
Query OK, 0 rows affected (0.57 sec)
mysql> INSERT INTO DemoTable661 VALUES(' 2019-01-21 12:02:21');
mysql> INSERT INTO DemoTable661 VALUES(' 2019-07-11 11:55:59 ');
mysql> INSERT INTO DemoTable661 VALUES('2019-11-21 04:00:59 ');
คิวรีค้นหาเฉพาะวันที่ 2019-07-11
mysql> SELECT * FROM DemoTable661
WHERE TRIM(DATE(Duedate)) = '2019-07-11';
ผลลัพธ์
+---------------------+
| Duedate |
+---------------------+
| 2019-07-11 11:55:59 |
+---------------------+
คำอธิบาย:
DATE(Duedate)- ดึงเฉพาะส่วนวันที่ (YYYY-MM-DD) จาก DATETIMETRIM()- ลบช่องว่างหน้าและหลังสตริง (ป้องกันข้อมูลที่มี space ติดมาด้วย)- MySQL จะแปลง '2019-07-11' เป็น DATE อัตโนมัติเมื่อเปรียบเทียบกับ DATE()
แนะนำ: หากข้อมูลสะอาด ไม่ต้องใช้ TRIM() ก็ได้ แต่ใช้เผื่อไว้ปลอดภัยกว่า