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

เปรียบเทียบวันที่ใน MySQL โดยไม่สนใจส่วนเวลา

เมื่อต้องการเปรียบเทียบเฉพาะวันที่จากฟิลด์ DATETIME โดยไม่สนใจส่วนเวลา ให้ใช้ฟังก์ชัน DATE() รูปแบบคำสั่ง:

select * from yourTableName where date(yourColumnName) = 'yourDate';

ตัวอย่างการใช้งาน

สร้างตารางเก็บข้อมูลล็อกอิน:

mysql> create table ComparingDate (
    -> Name varchar(100),
    -> Login datetime
    -> );

เพิ่มข้อมูลตัวอย่าง:

mysql> insert into ComparingDate values('John','2014-04-06 22:50:45');
mysql> insert into ComparingDate values('Bob','2018-12-15 15:07:46');
mysql> insert into ComparingDate values('Carol','2016-03-10 21:50:40');
mysql> insert into ComparingDate values('David','1995-08-08 23:40:47');

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

mysql> select * from ComparingDate;

ผลลัพธ์:

+-------+---------------------+
| Name  | Login               |
+-------+---------------------+
| John  | 2014-04-06 22:50:45 |
| Bob   | 2018-12-15 15:07:46 |
| Carol | 2016-03-10 21:50:40 |
| David | 1995-08-08 23:40:47 |
+-------+---------------------+

คิวรีเปรียบเทียบเฉพาะวันที่

mysql> select * from ComparingDate where date(Login) = '2016-03-10';

ผลลัพธ์:

+-------+---------------------+
| Name  | Login               |
+-------+---------------------+
| Carol | 2016-03-10 21:50:40 |
+-------+---------------------+

คำอธิบาย: ฟังก์ชัน DATE() จะดึงเฉพาะส่วนวันที่ (YYYY-MM-DD) ออกมาจาก DATETIME ทำให้สามารถเปรียบเทียบกับวันที่ที่ต้องการได้โดยไม่ต้องสนใจเวลา