mysql date_format 输入一个日期求上月初日期
时间: 2023-11-22 16:15:24 浏览: 22
可以使用以下语句:
SELECT DATE_FORMAT(DATE_SUB('输入日期', INTERVAL DAY('输入日期')-1 DAY), '%Y-%m-%d');
其中,'输入日期'应该替换为你输入的日期,如'2021-03-15'。这个语句会返回输入日期的上个月的第一天的日期,如以上输入的结果为'2021-02-01'。
相关问题
count(case when DATE_FORMAT(create_date, '%Y%m') = DATE_FORMAT(DATE_SUB(CURRENT_DATE(),1), '%Y%m') then '上月新增原子数' end)
这是一个MySQL的查询语句,作用是统计在上个月新增的原子数。具体解释如下:
1. DATE_FORMAT(create_date, '%Y%m'):将create_date字段按照指定的格式 '%Y%m' 格式化为年月(如202201),以便后续比较;
2. DATE_FORMAT(DATE_SUB(CURRENT_DATE(),1), '%Y%m'):将当前日期减去1个月(即上个月),并按照指定的格式 '%Y%m' 格式化为年月(如202112),以便后续比较;
3. case when ... then ... end:根据条件选择输出的结果,当条件成立时输出后面的结果;
4. '上月新增原子数':当条件成立时输出的结果,即统计上个月新增的原子数。
5. count(...):统计符合条件的记录数量,输出结果为一个整数,表示上个月新增的原子数。
用MYSQL版SQL写个代码,该代码可以把某个日期上月的第一天和上月的倒数第一天提取出来
可以使用以下代码来获取某个日期上月的第一天和上月的倒数第一天:
```
SELECT DATE_FORMAT(DATE_SUB(DATE_SUB(DATE_FORMAT(date, '%Y-%m-01'), INTERVAL 1 MONTH), INTERVAL 1 DAY), '%Y-%m-%d') AS first_day_of_last_month,
DATE_FORMAT(DATE_SUB(DATE_FORMAT(date, '%Y-%m-01'), INTERVAL 1 DAY), '%Y-%m-%d') AS last_day_of_last_month
```
其中,`DATE_FORMAT(date, '%Y-%m-01')` 表示将 `date` 转换为 `%Y-%m-01` 的格式,即年份-月份-01,从而得到该月份的第一天。`DATE_SUB` 函数用于对日期进行减法操作,`INTERVAL 1 MONTH` 表示减去一个月,`INTERVAL 1 DAY` 表示减去一天。最终得到上月的第一天和倒数第一天。
注意,`DATE_FORMAT` 函数的第二个参数表示日期格式,`%Y-%m-%d` 分别表示年份、月份和日期。