mysql date_sub 本月初
时间: 2023-08-18 21:07:27 浏览: 170
您可以使用MySQL的DATE_SUB函数来获取本月的第一天。下面是一个示例查询:
SELECT DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 0 MONTH) AS first_day_of_month;
该查询使用了NOW()函数获取当前日期时间,并使用DATE_FORMAT函数将其格式化为年-月-01的形式。然后,使用DATE_SUB函数减去0个月,即保持本月,得到本月的第一天。查询结果将返回一个日期值,表示本月的第一天。
相关问题
mysql查询本月每周的数据
你可以使用以下 SQL 语句来查询本月每周的数据:
```
SELECT * FROM table_name WHERE WEEK(date_column) = WEEK(DATE_SUB(date_column, INTERVAL DAYOFMONTH(date_column)-1 DAY) + INTERVAL ((WEEKDAY(date_column) + 1) % 7) DAY);
```
其中,`table_name` 是你要查询的表名,`date_column` 是你要筛选的日期列名。这条 SQL 语句的含义是:首先使用 `DAYOFMONTH(date_column)-1` 计算出当月的第一天,然后使用 `DATE_SUB(date_column, INTERVAL DAYOFMONTH(date_column)-1 DAY) + INTERVAL ((WEEKDAY(date_column) + 1) % 7) DAY` 计算出本月每周的第一天的日期,再使用 `WEEK()` 函数计算出每个日期所在的周数,最后筛选出周数等于该日期所在周数的所有数据,即为本月每周的数据。
mysql查询本月第一周的数据
你可以使用以下 SQL 语句来查询本月第一周的数据:
```
SELECT * FROM table_name WHERE WEEK(date_column) = WEEK(DATE_SUB(date_column, INTERVAL DAYOFMONTH(date_column)-1 DAY));
```
其中,`table_name` 是你要查询的表名,`date_column` 是你要筛选的日期列名。这条 SQL 语句的含义是:首先使用 `DAYOFMONTH(date_column)-1` 计算出当月的第一天,然后使用 `DATE_SUB(date_column, INTERVAL DAYOFMONTH(date_column)-1 DAY)` 计算出本月第一天的日期,再使用 `WEEK()` 函数计算出该日期所在的周数,最后筛选出周数等于该日期所在周数的所有数据,即为本月第一周的数据。
阅读全文