JAVA与MYSQL 都有 将 日期时间转为 长整型 函数
SQL SERVER 与C# 都没有自带
以下基于 SQL SERVER 2019 环境做的自定义函数
-- DROP FUNCTION F_toUnixTimestamp64CREATE FUNCTION F_toUnixTimestamp64(@DATETIME DATETIME2 ) RETURNS BIGINT AS BEGIN -- 输出结果将是一个长整型数字,表示从1970年1月1日到指定日期的毫秒数。declare @result bigint;declare @initial_datetime datetime ;set @initial_datetime = CONVERT(DATETIME2,'1970-01-01 00:00:00.0000' ,121);select @RESULT = DATEDIFF_BIG( millisecond, @initial_datetime, @DATETIME) ;RETURN(@result); END; CREATE FUNCTION F_toUnixTimestamp(@DATETIME DATETIME ) RETURNS BIGINT AS BEGIN -- 输出结果将是一个长整型数字,表示从1970年1月1日到指定日期的秒数。declare @result bigint;declare @initial_datetime datetime ;set @initial_datetime = CONVERT(DATETIME2,'1970-01-01 00:00:00.0000' ,121);select @RESULT = DATEDIFF_BIG( second, @initial_datetime, @DATETIME) ;RETURN(@result); END; 测试 :
测试
SELECT DBO.F_toUnixTimestamp(convert( DATETIME2 ,'2025-03-13 20:00:00.0000' ,121) )
结果:
1741896000