sqlserver如何根据当前日期获得上月某一天的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver如何根据当前日期获得上月某一天的日期相关的知识,希望对你有一定的参考价值。

比如我要根据当前日期得到上个月25号的日期 今天是2015-02-26 上月25号就是 2015-01-25

--根据当前时间查询上月26号的日期
SELECT CONVERT(varchar(10), CONVERT(varchar(8),dateadd(month,-1,getdate()),23)+'26' , 120)
--根据当前时间查询本月月25号的日期
SELECT CONVERT(varchar(10), CONVERT(varchar(8),dateadd(month,0,getdate()),23)+'25' , 120)
参考技术A sqlserver如何根据当前日期获得上月某一天的日期
--根据当前时间查询上月26号的日期
SELECT CONVERT(varchar(10), CONVERT(varchar(8),dateadd(month,-1,getdate()),23)+'26' , 120)
--根据当前时间查询本月月25号的日期
SELECT CONVERT(varchar(10), CONVERT(varchar(8),dateadd(month,0,getdate()),23)+'25' , 120)
参考技术B 试试select dateadd
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000

dateadd函数说明:
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期

参数 interval的设定值如下:

值 缩 写(Sql Server) (Access 和 ASP) 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
参考技术C SELECT CONVERT(CHAR(8),DATEADD(Month,-1,GETDATE()),120)+'25'

以上是关于sqlserver如何根据当前日期获得上月某一天的日期的主要内容,如果未能解决你的问题,请参考以下文章

js获取日期昨天,明天以及上月最后一天的日期

java如何获取某一天的日期?

在java中如何通过一个月份,获得该月份的第一天的日期?

js代码实现,如何获取当前月份的最后一天

根据当前时间计算本周第一天的日期以及本月第一天的日期

EXCEL问题,怎么用函数或公式取得当月最后一天