SQLSERVER:长整型转为日期时间F_LocalDatetime64
长整型转为日期 , 演示环境:MS SQL SERVER 2019(RTM) Developer Edition .
CREATE FUNCTION F_LocalDatetime64( @milliSecond bigint) returns datetime2 as begin declare @result datetime2; declare @second bigint; declare @milli bigint; if len(@milliSecond)= 13 begin -- 以毫秒级的长整型转为 日期 set @second = cast( @milliSecond/1000 as int ); select @RESULT = DATEADD(second,@Second,'1970-01-01') set @milli= substring( cast(@milliSecond as nvarchar(20) ),11,3) select @result = Dateadd(millisecond, @milli, @result) end; else if len(@milliSecond)= 10 select @RESULT = DATEADD(second,@MilliSecond,'1970-01-01') return(@result); end; -- drop FUNCTION F_LocalDatetime ; CREATE FUNCTION F_LocalDatetime( @Second bigint) returns datetime2 as begin declare @result datetime2; select @RESULT = DATEADD(second,@Second ,'1970-01-01') return(@result); end; select convert( datetime2,17418960003, 121) -- 1741795200 :,'2025-03-13 20:00:00' select DATEADD(second,1741795200,'1970-01-01') , DBO.F_LocalDatetime(1741795200) AS DATE_TIME select dbo.F_LocalDatetime64(1741795200234) as [datetime2] -- 返回: '2025-03-12 16:00:00.2340000'
优质生活从拆开始