如何获取 MySQL 中每个对应月份的第一天?
您可以使用 MySQL 中的 date-format() 函数来获取每个对应月份的第一天。语法如下所示 −
select DATE_FORMAT(yourDatetimeColumnName ,'%Y-%m-01') as anyVariableName from yourTableName;
为了理解上述语法,我们首先创建一个表。创建表的查询如下所示 −
mysql> create table getFirstDayOfMonth -> ( -> DueDatetime datetime -> ); Query OK, 0 rows affected (1.16 sec)
使用 insert 命令在表中插入一些记录。查询如下所示 −
mysql> insert into getFirstDayOfMonth values(date_add(now(),interval 3 month)); Query OK, 1 row affected (0.30 sec) mysql> insert into getFirstDayOfMonth values(date_add(now(),interval -3 month)); Query OK, 1 row affected (0.13 sec) mysql> insert into getFirstDayOfMonth values(date_add(now(),interval -2 month)); Query OK, 1 row affected (0.18 sec) mysql> insert into getFirstDayOfMonth values(date_add(now(),interval -1 month)); Query OK, 1 row affected (0.16 sec) mysql> insert into getFirstDayOfMonth values(date_add(now(),interval -4 month)); Query OK, 1 row affected (0.10 sec)
使用 select 语句显示表中的所有记录。查询如下所示 −
mysql> select *from getFirstDayOfMonth;
输出
+---------------------+ | DueDatetime | +---------------------+ | 2019-03-20 12:32:06 | | 2018-09-20 12:32:16 | | 2018-10-20 12:32:22 | | 2018-11-20 12:32:28 | | 2018-08-20 12:32:33 | +---------------------+ 5 rows in set (0.00 sec)
以下是获取对应月份第一天的查询。无论列中有什么月份,以下查询都将返回当月的第一天 −
mysql> select DATE_FORMAT(DueDatetime ,'%Y-%m-01') as DateDemo from getFirstDayOfMonth;
输出
+------------+ | DateDemo | +------------+ | 2019-03-01 | | 2018-09-01 | | 2018-10-01 | | 2018-11-01 | | 2018-08-01 | +------------+ 5 rows in set (0.00 sec)
广告