2017-02-15 110 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

谢谢。我得到了我的答案,感谢各位为您的快速回复。