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'
优质生活从拆开始
浙公网安备 33010602011771号