เพื่อให้บรรลุเป้าหมายนี้ ใช้ไวยากรณ์ดังนี้ ซึ่งใช้ DATE(NOW()):
select * from yourTableName where DATE(yourColumnName) = DATE(NOW());
สร้างตารางตัวอย่าง
mysql> create table DemoTable706 (
UserId varchar(100),
UserName varchar(100),
UserSignupDate datetime
);
Query OK, 0 rows affected (0.57 sec)
เพิ่มข้อมูลตัวอย่าง
mysql> insert into DemoTable706 values('John1@gmail.com', 'John', '2019-01-31 12:45:22');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable706 values('Chris123@gmail.com', 'Chris', '2019-07-22 10:05:02');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable706 values('12Robert@gmail.com', 'Robert', '2019-06-22 11:25:22');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable706 values('DavidM@gmail.com', 'David', '2019-07-22 00:00:02');
Query OK, 1 row affected (0.12 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable706;
ผลลัพธ์
+--------------------+----------+---------------------+ | UserId | UserName | UserSignupDate | +--------------------+----------+---------------------+ | John1@gmail.com | John | 2019-01-31 12:45:22 | | Chris123@gmail.com | Chris | 2019-07-22 10:05:02 | | 12Robert@gmail.com | Robert | 2019-06-22 11:25:22 | | DavidM@gmail.com | David | 2019-07-22 00:00:02 | +--------------------+----------+---------------------+ 4 rows in set (0.00 sec)
คำสั่งดึงข้อมูลที่มีวันที่ = วันนี้
mysql> select * from DemoTable706 where DATE(UserSignupDate) = DATE(NOW());
ผลลัพธ์
+--------------------+----------+---------------------+ | UserId | UserName | UserSignupDate | +--------------------+----------+---------------------+ | Chris123@gmail.com | Chris | 2019-07-22 10:05:02 | | DavidM@gmail.com | David | 2019-07-22 00:00:02 | +--------------------+----------+---------------------+ 2 rows in set (0.00 sec)
คำอธิบาย: DATE() ครอบทั้งคอลัมน์และ NOW() เพื่อเปรียบเทียบเฉพาะวันที่ ไม่รวมส่วนเวลา ใช้ NOW() หรือ CURDATE() ก็ได้