簡體   English   中英

SQL 2012 - 查詢返回月份數

[英]SQL 2012 - Query to return month number

我需要返回給定日期的月份數。 對於當前月份,月份編號為 0。對於下個月,MonthNo 為 1。上個月為 -1,2 個月前為 -2。 等等因此假設今天是 2020 年 6 月 16 日,請參見下面的示例數據:

IF OBJECT_ID('tempdb..#DateTest') IS NOT NULL
    DROP TABLE #DateTest

CREATE TABLE #DateTest
(
DateTest Date
)

INSERT INTO #DateTest
VALUES
('23/08/2020'),
('14/06/2020'),
('01/06/2020'),
('15/05/2020'),
('01/05/2020'),
('18/01/2020') 

Select * FROM #DateTest

我需要返回以下內容:

Date          MonthNo
23/08/2020    2
14/06/2020    0
01/06/2020    0
15/05/2020    -1
01/05/2020    -1
18/01/2020    -5

有沒有辦法返回這個信息?

看起來像普通的DATEDIFF ,它應該適合你:

SELECT 
  DateTest AS [Date],
  DATEDIFF(MONTH, GETDATE(), DateTest) AS [MonthNo]
FROM #DateTest

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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