[英]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.