2016-04-04 57 views
-1

我有列'A',它是日期列CREATED AS CAST(GETDATE() AS DATE)和列'B'是一个整数列。如何从Integer列的日期列中添加日期,由SQL

我想创建C列以显示A + B作为日期。

+1

工作[DATEADD是你的朋友。阅读此](https://msdn.microsoft.com/en-us/library/ms186819.aspx) – Shnugo

+0

我试过了,但在我的列B(整数)是不同的值,我不想添加天1,2或4.我想在列B中添加日期到列A以显示列C中的结果 –

+0

无需编写任何数字。它们来自你的Int-Column。我刚刚添加了一个答案... – Shnugo

回答

1

尝试像这样

CREATE TABLE #test(DateColumn DATETIME, IntColumn INT); 
INSERT INTO #test VALUES 
({ts'2016-01-01 00:00:00'},1) 
,({ts'2016-01-10 11:30:00'},-2) 
,(GETDATE(),3); 

SELECT DateColumn AS A 
     ,IntColumn AS B 
     ,DATEADD(DAY,IntColumn,DateColumn) AS C 
FROM #test; 

DROP TABLE #test; 

BTW:添加整整两天,甚至会用简单的DateValue+IntValue

+0

谢谢你的例子。有用。 :) –