2013-05-28 30 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