2013-05-28 32 views
1

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

例子:

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

+0

的数据库即时通讯使用的是mssql –

+0

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=33116很多例子。 – adaam

回答

1

这适用于SQL服务器(SQLFiddle):

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

说明:GETDATE()给出当前日期和时间。投射到DATE仅使其日期(午夜时间)。再次将其重新投射到DATETIME使其与DATEADD兼容,最终将其添加10小时。

0

如果您使用的是sql server,请使用下面的代码。

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

注意时间缩放在0.0到0.9999之间,的时间平均分配。例如0.5将给出12a.m.

0

这是来自DB2。但同样的概念应该很DB。只是转换该日期到时间戳

SELECT TIMESTAMP(CURRENT_DATE, TIME('10:00:00')) AS MY_DATE FROM SYSIBM.SYSDUMMY1 
0
在SQL Server 2008及以上

select convert(datetime,convert(varchar(10),convert(date,(GETDATE())))+' 00:00:00') 
0
select convert(datetime,convert(varchar,convert(date,getdate())) + ' 10:00:00.000') 

SQL FIDDLE

0

再次,在MS SQL Server中,您还可以使用

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