sql 2012-查询以返回月份号

w8f9ii69  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(229)

我需要返回给定日期的月份号。对于当前月份,月份号将为0。在接下来的一个月里,monthno将是1。前一个月是-1,两个月前是-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

有没有办法把这些信息还给你?

cl25kdpy

cl25kdpy1#

看起来像普通的datediff,应该适合你:

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

演示

相关问题