0

SQL Server 2005 で、タスクが開始された時間の表現を作成したいと考えています。実際の開始時刻である「2010-10-01 12:30:00.000」という日時があります。私が最後にしたいのは、タスクが開始された時間である「12:00」です。「30分」を無駄にする方法について何か良いアイデアはありますか?

4

3 に答える 3

0

これはあなたが望むことをします:

SELECT DATEADD(hh, DATEDIFF(hh, '20000101', [DateField]), '20000101')
于 2011-09-27T13:42:46.340 に答える
0

datetime 値から分/秒/ミルを削除したいだけで、datetime として保持したい場合は、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
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 に答える