MySQL查询从星期几减去日期记录并显示星期几与记录

为此,您可以使用DATE_FORMAT()。让我们首先创建一个表-

mysql> create table DemoTable1820
     (
     AdmissionDate varchar(20)
     );

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

mysql> insert into DemoTable1820 values('20/10/2019');
mysql> insert into DemoTable1820 values('19/12/2018');
mysql> insert into DemoTable1820 values('16/04/2017');

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

mysql> select * from DemoTable1820;

这将产生以下输出-

+---------------+
| AdmissionDate |
+---------------+
| 20/10/2019    |
| 19/12/2018    |
| 16/04/2017    |
+---------------+
3 rows in set (0.00 sec)

这是查询以减去具有星期几的日期记录并显示星期几名称和记录-

mysql> select DATE_FORMAT(SUBDATE(STR_TO_DATE(AdmissionDate,'%d/%m/%y'), WEEKDAY(STR_TO_DATE(AdmissionDate,'%d/%m/%y'))), '%a %d %b') from DemoTable1820;

这将产生以下输出-

+-------------------------------------------------------------------------------------------------------------------------+
| DATE_FORMAT(SUBDATE(STR_TO_DATE(AdmissionDate,'%d/%m/%y'), WEEKDAY(STR_TO_DATE(AdmissionDate,'%d/%m/%y'))), '%a %d %b') |
+-------------------------------------------------------------------------------------------------------------------------+
| Mon 19 Oct                                                                                                              |
| Mon 14 Dec                                                                                                              |
| Mon 13 Apr                                                                                                              |
+-------------------------------------------------------------------------------------------------------------------------+
3 rows in set, 6 warnings (0.00 sec)