• DATETIME类型和BIGINT 类型互相转换


    项目中使用BIGINT来存放时间,以下代码用来转换时间类型和BIGINT类型

    复制代码
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:   GGA
    -- Create date: 2013-03-28
    -- Description: 将时间类型转化成BIGINT,返回指定时间
    -- 到-01-01 08:00:00.000的毫秒数
    -- =============================================
    CREATE FUNCTION [dbo].[ufn_GetMSIntFormTime]
    (
       @dt DATETIME
    )
    RETURNS BIGINT
    AS
    BEGIN
       -- Declare the return variable here
       DECLARE @dtInt BIGINT
     
       SELECT @dtInt=DATEDIFF(SECOND , '1970-01-01 08:00:00.000' , @dt ) --秒数
       set @dtInt = @dtInt*1000 + DATEPART(MILLISECOND,@dt) -- 毫秒数
       RETURN @dtInt
    END
     
    GO
    复制代码
    复制代码
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:   GGA
    -- Create date: 2013-03-28
    -- Description: 根据毫秒数计算出时间
    -- =============================================
    CREATE FUNCTION [dbo].[ufn_GetTimeFormMSInt]
    (
       @msINT BIGINT
    )
    RETURNS DATETIME
    AS
      BEGIN
       DECLARE @secInt BIGINT
       DECLARE @leftMsInt BIGINT
      
       SET @secInt=@msINT/1000;
       SET @leftMsInt=@msINT%1000;
     
       DECLARE @date DATETIME
       SET @date = DATEADD(SECOND,@secInt,'1970-01-01 8:00:00:000')
       SET @date = DATEADD(MILLISECOND,@leftMsInt,@date)
       RETURN @date
     END
    GO
    
  • 相关阅读:
    C# 自定义配置文件
    Mysql JSON字段提取某一个属性值的函数
    linux查看Java线程
    Idea书签管理器的使用
    springboot寻找property的顺序
    SpringBoot的spring-boot-starter有哪些(官方)
    SpringBoot打成jar包的配置方式
    netstat 常用参数总结
    Sentinel统计线程,QPS,RT的方式
    16. kubernetes RBAC
  • 原文地址:https://www.cnblogs.com/wenBlog/p/5526954.html
Copyright © 2020-2023  润新知