需求比较简单:获取日期(日期会变)上个月的25号
第一种解决思路:
- 已有日期减去一个月得到年月日
- 获取年份
- 获取 月份
- 拼接指定时间
日期减去一个月
select DATEADD(MONTH,-1,GETDATE())
获取年
SELECT YEAR(DATEADD(MONTH,-1,GETDATE()))
获取月
SELECT MONTH(DATEADD(MONTH,-1,GETDATE()))
拿年月日进行拼接:
select cast(YEAR(DATEADD(month,-1,getdate())) as varchar)+'-'+cast(MONTH(DATEADD(month,-1,getdate())) as varchar)+'-25'
结果:
2020-8-25
第二种解决思路:
- 日期减去一个月
- 获取 年月
- 拼接指定时间
获取 年月
SELECT CONVERT(VARCHAR(7),DATEADD(month,-1,getdate()),120)
结果如下:
2020-08
再拼接指定日期
SELECT CONVERT(VARCHAR(7),DATEADD(month,-1,getdate()),120)+'-25'
结果 :
2020-08-25
第二种比第一种更简单,因为第一种还要进行转换。
本文介绍两种使用SQL获取当前日期上个月特定日期(如25号)的方法。第一种方法通过逐个获取年、月并拼接指定日期实现;第二种方法则通过直接转换日期格式来简化操作。
1060

被折叠的 条评论
为什么被折叠?



