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

คิวรี่ MySQL เลือกข้อมูลวันนี้ด้วย CURDATE() และ DATE()


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

ใช้ CURDATE()` สำหรับวันที่ปัจจุบัน และ DATE() เพื่อดึงเฉพาะวันที่จาก DATETIME:

SELECT column1, column2, DATE_FORMAT(date_column, '%Y-%m-%d') AS date_only
FROM your_table
WHERE DATE(date_column) = CURDATE();

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

สร้างตาราง GmailSignIn

CREATE TABLE GmailSignIn (
    UserId INT,
    UserName VARCHAR(200),
    DateOfSignIn DATETIME
);

เพิ่มข้อมูล (สมมติวันนี้คือ 2018-12-06)

INSERT INTO GmailSignIn VALUES
(222111, 'John', NOW()),
(333222, 'Johnson', CURDATE()),
(444333, 'Carol', DATE_ADD(CURDATE(), INTERVAL 1 DAY)),
(555444, 'David', DATE_ADD(CURDATE(), INTERVAL -1 DAY));

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

+--------+----------+---------------------+
| UserId | UserName | DateOfSignIn        |
+--------+----------+---------------------+
| 222111 | John     | 2018-12-06 19:13:30 |
| 333222 | Johnson  | 2018-12-06 00:00:00 |
| 444333 | Carol    | 2018-12-07 00:00:00 |
| 555444 | David    | 2018-12-05 00:00:00 |
+--------+----------+---------------------+

คิวรี่เลือกเฉพาะวันนี้ (2018-12-06)

SELECT UserId, UserName, DateOfSignIn, 
       DATE_FORMAT(DateOfSignIn, '%Y-%m-%d') AS DateOnly
FROM GmailSignIn
WHERE DATE(DateOfSignIn) = CURDATE();

ผลลัพธ์

+--------+----------+---------------------+----------+
| UserId | UserName | DateOfSignIn        | DateOnly |
+--------+----------+---------------------+----------+
| 222111 | John     | 2018-12-06 19:13:30 | 2018-12-06 |
| 333222 | Johnson  | 2018-12-06 00:00:00 | 2018-12-06 |
+--------+----------+---------------------+----------+

ฟังก์ชันวันที่ที่เกี่ยวข้อง

  • CURDATE() - วันที่ปัจจุบัน (YYYY-MM-DD)
  • NOW() - วันที่และเวลาปัจจุบัน
  • DATE() - ดึงเฉพาะวันที่จาก DATETIME
  • DATE_FORMAT() - จัดรูปแบบวันที่