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

คิวรี่ MySQL ดึงข้อมูลวันที่ปัจจุบันจากคอลัมน์ datetime

เพื่อให้บรรลุเป้าหมายนี้ ใช้ไวยากรณ์ดังนี้ ซึ่งใช้ 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() ก็ได้