2015-12-11 60 views
-1

我有一個SQL Server表具有datetime列。我需要做的SELECT聲明是返回(我認爲)計算列從datetime列中取出時間並將其與當前日期放在一起。從SQL Server返回新日期時間選擇日期時間

所以我可以有表...

[TargetPlot].[TargetDate] 
2015-12-09 10:15:00 
2015-12-09 10:30:00 
2015-12-09 10:45:00 
2015-12-09 11:00:00 
2015-12-09 11:15:00 

但我需要SELECT語句返回時(假定當前日期是12月11日)...

[SomeCalculatedField] 
2015-12-11 10:15:00 
2015-12-11 10:30:00 
2015-12-11 10:45:00 
2015-12-11 11:00:00 
2015-12-11 11:15:00 

感謝您的任何建議。

安迪

回答

1
Select CAST(CONVERT(VARCHAR(10), GETDATE(), 120) + ' ' + 
      CONVERT(VARCHAR(8), TargetDate, 108) AS DATETIME) AS [SomeCalculatedField] 
from TableName 
0

您可以通過添加日期,適當的調整之後:

select cast(cast(getdate() as date) as datetime) + cast(targetdate as time) 

SQL Server可以添加時間爲datetime值。

0

我想你可能想這

select (convert(varchar(10),getdate(),120))+' '+DATEADD(day, 0 - DATEDIFF(day, 0, column_name),Column_name) as SomeInput 

從 表名

0

不知道爲什麼你不得不投或轉換任何東西..你就應該能夠從加入天差然後到現在..

DECLARE @Test TABLE (TargetDate DATETIME) 
INSERT INTO @Test VALUES 
('2015-12-09 10:15:00'), 
('2015-12-09 10:30:00'), 
('2015-12-09 10:45:00'), 
('2015-12-09 11:00:00'), 
('2015-12-09 11:15:00') 


SELECT DATEADD(DAY, DATEDIFF(DAY, TargetDate, GETDATE()),TargetDate) FROM @Test