UTC时间戳到Sql server中的Datetime

时间:2017-02-15 06:52:32

标签: mysql sql sql-server

任何人都可以帮我创建一个函数,如果我在SQL服务器中以毫秒为单位传递UTC时间戳,它会给我Datetime值吗?

提前感谢。

2 个答案:

答案 0 :(得分:1)

使用以下代码将UTC转换为本地日期时间格式:

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

答案 1 :(得分: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())