34,593
社区成员
发帖
与我相关
我的任务
分享
--SQL Server2012+
DECLARE @s VARCHAR(20)='201708'
SELECT Format(EOMONTH(@s+'01',-1),'yyyyMM')
/*
(无列名)
201707
*/
declare @ym varchar(6)=201707
select [本月]=@ym,[上个月]= @ym-1-(1-sign(@ym % 100-1))*88
set @ym=201701
select [本月]=@ym,[上个月]= @ym-1-(1-sign(@ym % 100-1))*88
/*
本月 上个月
201707 201706
本月 上个月
201701 201612
*/
DECLARE @str NVARCHAR(100)='201708'
SELECT CONVERT(VARCHAR(6),DATEADD(MONTH,-1,CONVERT(DATE,@str+'01')),112)
declare @str varchar(20),@dt datetime
set @str='201708'
set @str=left(@str,4)+'-'+substring(@str,5,100)+'-1'
set @dt=DateAdd(month,-1,@str)
select replace(convert(varchar(7),@dt,20),'-','')