我需要從幾小時和幾分鐘創建時間。在mysql中有一個'Maketime'功能正是爲了這個Sql服務器相當於mysql_maketime
mysql> SELECT MAKETIME(12,15,30);
-> '12:15:30'
我應該用什麼函數在sql server中執行它?
我需要從幾小時和幾分鐘創建時間。在mysql中有一個'Maketime'功能正是爲了這個Sql服務器相當於mysql_maketime
mysql> SELECT MAKETIME(12,15,30);
-> '12:15:30'
我應該用什麼函數在sql server中執行它?
SQL Server 2012中有TIMEFROMPARTS
:
+1。但我認爲只有在SQL Server 2012中? – Nithesh
是的,'TIMEFROMPARTS'和'DATEFROMPARTS'在sql server 2012中是新的。 –
謝謝,正是我所需要的,雖然我自己找不到它。 –
對於SQL Server早期版本(前2012),你只需要使用的DateAdd()
功能的組合。
SELECT DateAdd(hh, 12, DateAdd(mi, 15, DateAdd(ss, 30, 0)))
請注意,這將返回一個datetime
值。如果您使用的是2008及更高版本,則可以根據需要簡單地使用Cast()
至time
。
其實我使用的是2012年,但也很好知道如何在以前的版本中使用它。謝謝 –
對2008 R2肯定有幫助 –
我認爲這是你在找什麼:
SELECT convert(datetime, '20:10:44', 108) -- hh:mm:ss
你可以
dateadd(second, (12 * 3600) + (15 * 60) + 30, cast('00:00:00' as time))
這似乎是在SQL Server 2008 R2中使用變量/單獨使用valuse達到小時/分鐘/秒時最乾淨的方式 –
什麼版本的SQL Server? – Taryn
2012,但是有沒有像以前的版本中的TIMEOFPARTS? –
不,這是SQL Server 2012中的新功能。 –