2015-12-11 165 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 
相关问题