2013-08-06 68 views
0

我需要從幾小時和幾分鐘創建時間。在mysql中有一個'Maketime'功能正是爲了這個Sql服務器相當於mysql_maketime

mysql> SELECT MAKETIME(12,15,30); 
    -> '12:15:30' 

我應該用什麼函數在sql server中執行它?

+0

什麼版本的SQL Server? – Taryn

+0

2012,但是有沒有像以前的版本中的TIMEOFPARTS? –

+1

不,這是SQL Server 2012中的新功能。 –

回答

3

SQL Server 2012中有TIMEFROMPARTS

http://msdn.microsoft.com/en-us/library/hh213398.aspx

+0

+1。但我認爲只有在SQL Server 2012中? – Nithesh

+0

是的,'TIMEFROMPARTS'和'DATEFROMPARTS'在sql server 2012中是新的。 –

+0

謝謝,正是我所需要的,雖然我自己找不到它。 –

2

對於SQL Server早期版本(前2012),你只需要使用的DateAdd()功能的組合。

SELECT DateAdd(hh, 12, DateAdd(mi, 15, DateAdd(ss, 30, 0))) 

請注意,這將返回一個datetime值。如果您使用的是2008及更高版本,則可以根據需要簡單地使用Cast()time

+0

其實我使用的是2012年,但也很好知道如何在以前的版本中使用它。謝謝 –

+0

對2008 R2肯定有幫助 –

1

你可以

dateadd(second, (12 * 3600) + (15 * 60) + 30, cast('00:00:00' as time)) 
+0

這似乎是在SQL Server 2008 R2中使用變量/單獨使用valuse達到小時/分鐘/秒時最乾淨的方式 –