如何在MySQL的一周中的特定日期选择行?

对于星期几,请使用DAYOFWEEK()

让我们首先创建一个表-

mysql> create table DemoTable785 (
   CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   CustomerName varchar(100),
   ShoppingDate date
);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable785(CustomerName,ShoppingDate) values('Chris','2019-07-03');
mysql> insert into DemoTable785(CustomerName,ShoppingDate) values('Robert','2019-07-01');
mysql> insert into DemoTable785(CustomerName,ShoppingDate) values('David','2019-07-06');
mysql> insert into DemoTable785(CustomerName,ShoppingDate) values('Carol','2019-07-19');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable785;

这将产生以下输出-

+------------+--------------+--------------+
| CustomerId | CustomerName | ShoppingDate |
+------------+--------------+--------------+
| 1          | Chris        | 2019-07-03   |
| 2          | Robert       | 2019-07-01   |
| 3          | David        | 2019-07-06   |
| 4          | Carol        | 2019-07-19   |
+------------+--------------+--------------+
4 rows in set (0.00 sec)

以下是查询以选择属于一周中特定日期的行-

mysql> select *from DemoTable785 where DAYOFWEEK(ShoppingDate)=2;

这将产生以下输出-

+------------+--------------+--------------+
| CustomerId | CustomerName | ShoppingDate |
+------------+--------------+--------------+
| 2          | Robert       | 2019-07-01   |
+------------+--------------+--------------+
1 row in set (0.00 sec)