簡體   English   中英

從一個月減去一個月

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM