有谁知道如何使用 SQL Server 默认日期的时间?
例子:
当我使用getdate()
它时,它会返回我当前的日期和时间。如何获取当前日期但将时间部分默认为 '10:00:00.000' ?
有谁知道如何使用 SQL Server 默认日期的时间?
例子:
当我使用getdate()
它时,它会返回我当前的日期和时间。如何获取当前日期但将时间部分默认为 '10:00:00.000' ?
这适用于 SQL Server ( SQLFiddle ):
SELECT DATEADD(hour, 10, CAST(CAST(GETDATE() AS DATE) AS DATETIME))
解释:GETDATE()
给出当前日期和时间。Casting toDATE
使其仅约会(午夜时间)。再次铸造它以DATETIME
使其与 兼容DATEADD
,最终增加了 10 个小时。
如果您使用的是 sql server,请使用以下内容。
select cast(cast(getdate()AS INT)+0.41667 as datetime)
注意时间在 0.0 到 0.9999 之间进行缩放,并且没有。小时平均分配。例如 0.5 将给 12a.m.
这是来自 DB2。但是同样的概念应该非常有效。只需将该日期转换为时间戳
SELECT TIMESTAMP(CURRENT_DATE, TIME('10:00:00')) AS MY_DATE FROM SYSIBM.SYSDUMMY1
在 sql server 2008 及更高版本中:
select convert(datetime,convert(varchar(10),convert(date,(GETDATE())))+' 00:00:00')
select convert(datetime,convert(varchar,convert(date,getdate())) + ' 10:00:00.000')
同样,在 Ms SQL Server 中,您也可以使用
Select DateAdd(day, datediff(day, getdate()), 0) + 10/24.0