我有以下临时表
CREATE TABLE #t ( ID INT, V FLOAT, D DATE )
INSERT INTO #t
VALUES ( 1, 1, '2014-07-01' ),
( 1, 2, '2014-08-02' ),
( 1, 3, '2014-09-03' ),
( 2, 7, '2014-10-31' ),
( 2, 5, '2014-11-28' ),
( 2, 8, '2014-12-31' ),
( 2, 11, '2015-01-30' );
我想从今天的2015年3月14日开始查找我的临时数据库中每条记录的月份差异。 决赛桌应该是这样的
( 1, 1, '2014-07-01', 9),
( 1, 2, '2014-08-02', 8),
( 1, 3, '2014-09-03', 7),
( 2, 7, '2014-10-31', 6 ),
( 2, 5, '2014-11-28', 5),
( 2, 8, '2014-12-31', 4),
( 2, 11, '2015-01-30', 3);
对于此记录(2,11,'2015-01-30',3);日期是1月份,而我当前的月份是3月,所以3月 - 2015年1月应为3。
任何建议都会有所帮助。
答案 0 :(得分:0)
尝试
DATEDIFF(MONTH, D, GETDATE())
“MONTH”参数要求数月,但您可能需要在结果中添加一个以获得您所追求的结果。