[英]Subtract month from yearmonth
在SQL中,我有一个从YYYYMM值中减去一个月的标准。 请帮助我。 我能够在下面得到答案
select 201608 - 1;
但是当它是01个月时,它不起作用。
请帮助我,如果没有检查01个月的条件!
我也经历了DATADD和DATEDIFF函数,但无法按预期获得结果
Select DateAdd(MM,-1,cast(cast(201608 as varchar(10))+'01' as date))
返回2016-07-01的日期
SQL包含日期操作函数。 使用那些:
SELECT DATEDIFF(DAY, DATEADD(day, -1, @dateToCheck), GETDATE())
或者,您可以使用一些数学将int转换为base 12 int,减去month并返回原始编码。
select d, m, res=(dd/12)*100 + dd%12 + 1
from (
select *, (d/100)*12 + d%100 - 1 - m as dd
from ( --sample data, m = months to substract
values
(201608, 10), (201608, 2), (201601, 1), (201601, 12)
) t(d,m)
) t
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.