2017-02-15 88 views
1

任何人可以幫助我創建一個函數,如果我通過UTC時間戳在SQL服務器中以毫秒爲單位給我日期時間值?UTC時間戳到日期時間在Sql服務器

在此先感謝。

+1

您正在使用哪種RDBMS? MySQL或SQL服務器? –

+0

UTC毫秒的時代基準時間是多少?什麼是Microsoft SQL Server版本? –

回答

1

使用下面的代碼來獲得UTC本地日期時間格式:

SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) 
    AS ColumnInLocalTime 
FROM MyTable 
0

如果你想創建SQL Server中這樣的功能,那麼您的查詢應該是這樣的:

CREATE FUNCTION UTCtoLocal(@UTC datetime) 
RETURNS datetime 
AS 
BEGIN 

DECLARE @local datetime 
DECLARE @datediff INT = (select DATEDIFF(mi, GETUTCDATE(), GETDATE())) 

SET @local = DATEADD(mi, @datediff, @UTC) 

RETURN @local 

END 
GO 

然後你可以通過utc時間作爲參數並獲得當地時間

SELECT [dbo].[UTCtoLocal] (GETUTCDATE()) 
0

謝謝。我得到了我的答案,感謝各位爲您的快速回復。