1

有谁知道如何使用 SQL Server 默认日期的时间?

例子:

当我使用getdate()它时,它会返回我当前的日期和时间。如何获取当前日期但将时间部分默认为 '10:00:00.000' ?

4

6 回答 6

1

这适用于 SQL Server ( SQLFiddle ):

SELECT DATEADD(hour, 10, CAST(CAST(GETDATE() AS DATE) AS DATETIME))

解释:GETDATE()给出当前日期和时间。Casting toDATE使其仅约会(午夜时间)。再次铸造它以DATETIME使其与 兼容DATEADD,最终增加了 10 个小时。

于 2013-05-28T04:34:20.637 回答
0

如果您使用的是 sql server,请使用以下内容。

select cast(cast(getdate()AS INT)+0.41667 as datetime)

注意时间在 0.0 到 0.9999 之间进行缩放,并且没有。小时平均分配。例如 0.5 将给 12a.m.

于 2013-05-28T04:26:46.037 回答
0

这是来自 DB2。但是同样的概念应该非常有效。只需将该日期转换为时间戳

SELECT TIMESTAMP(CURRENT_DATE, TIME('10:00:00')) AS MY_DATE FROM SYSIBM.SYSDUMMY1
于 2013-05-28T04:27:49.313 回答
0

在 sql server 2008 及更高版本中:

select convert(datetime,convert(varchar(10),convert(date,(GETDATE())))+' 00:00:00')
于 2013-05-28T04:35:26.627 回答
0
select convert(datetime,convert(varchar,convert(date,getdate())) + ' 10:00:00.000')

SQL 小提琴

于 2013-05-28T04:36:23.923 回答
0

同样,在 Ms SQL Server 中,您也可以使用

Select DateAdd(day, datediff(day, getdate()), 0) + 10/24.0

于 2013-05-28T04:37:03.667 回答