Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从SQL Server返回新的日期时间选择日期时间_Sql_Datetime_Sql Server 2012 - Fatal编程技术网

从SQL Server返回新的日期时间选择日期时间

从SQL Server返回新的日期时间选择日期时间,sql,datetime,sql-server-2012,Sql,Datetime,Sql Server 2012,我有一个SQL Server表,它有一个datetime列。对于SELECT语句,我需要做的是返回(我认为)一个计算列,该列从datetime列中提取时间,并将其与当前日期放在一起 所以在桌子上我可能有 [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语句是(假设当

我有一个SQL Server表,它有一个
datetime
列。对于
SELECT
语句,我需要做的是返回(我认为)一个计算列,该列从
datetime
列中提取时间,并将其与当前日期放在一起

所以在桌子上我可能有

[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日)

谢谢你的建议


Andy

您可以在适当调整后添加日期:

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

SQL Server可以将时间添加到
datetime
值。

我想您可能需要这样做

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

TableName

不确定为什么要强制转换或转换任何内容。。从那时起到现在,您应该能够以天为单位添加差异

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
select (convert(varchar(10),getdate(),120))+' '+DATEADD(day, 0 - DATEDIFF(day, 0, column_name),Column_name) as SomeInput
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