将MySQL日期戳(毫秒)转换为SQL服务器毫秒

时间:2015-06-23 08:45:18

标签: mysql sql-server milliseconds

我在MySQL有一个约会: 1395774998 。我知道这个日期是几毫秒。

我使用epochconverter.com将此日期转换为:

**GMT: Tue, 25 Mar 2014 19:16:38 GMT**

我想将此MySQL日期转换为SQL Server,而不会丢失信息。

1 个答案:

答案 0 :(得分:0)

请试试这个

DECLARE @Datetime BIGINT, @Result datetime, @LocalDatetime  BIGINT;

SET @Datetime = 1395774998
SET @LocalDatetime = @Datetime - DATEDIFF(second,GETDATE(),GETUTCDATE())
SET @Result = (SELECT DATEADD(second,@LocalDatetime , CAST('1970-01-01 00:00:00' AS datetime)))

select @Result

OR功能

CREATE FUNCTION dbo.ufn_ConvertUnixTimestampToDateTime (@Datetime BIGINT)
RETURNS DATETIME
AS
BEGIN
    DECLARE @LocalDatetime BIGINT
    SET @LocalDatetime = @Datetime - DATEDIFF(second,GETDATE(),GETUTCDATE())
    RETURN (SELECT DATEADD(second,@LocalDatetime, CAST('1970-01-01 00:00:00' AS datetime)))
END;