คำสั่งเลือกข้อมูลวันที่เท่ากับวันนี้
ใช้ 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()- ดึงเฉพาะวันที่จาก DATETIMEDATE_FORMAT()- จัดรูปแบบวันที่