0

在 SQL Server 2005 上,我想创建一个表示我的任务开始的时间。我的日期时间是“2010-10-01 12:30:00.000”,这是实际的开始时间。我想结束的是“12:00”,这是任务开始的时间。关于如何放松“30”分钟的任何好主意?

4

3 回答 3

0

如果您只是想从日期时间值中消除分钟/秒/毫秒,但将其保留为日期时间,请使用DATEADD/ DATEDIFF

select DATEADD(hour,DATEDIFF(hour,0,`2010-10-01T12:30:00`),0)

哪个会返回2010-10-01T12:00:00

于 2011-09-27T13:40:50.037 回答
0

这将做你想要的:

SELECT DATEADD(hh, DATEDIFF(hh, '20000101', [DateField]), '20000101')
于 2011-09-27T13:42:46.340 回答
0
declare @dt datetime 
set @dt = '2010-10-01 12:30:00.000'
select convert(char(5), dateadd(hour, datediff(hour, 0, @dt), 0), 108)

结果:

12:00

作为日期时间

declare @dt datetime 
set @dt = '2010-10-01 12:30:00.000'
select dateadd(hour, datediff(hour, 0, @dt), 0)

结果:

2010-10-01 12:00:00.000
于 2011-09-27T13:47:41.550 回答