代码之家  ›  专栏  ›  技术社区  ›  Beingnin

如何从LSN中减去

  •  0
  • Beingnin  · 技术社区  · 7 年前

    我需要从lsn(二进制日期)中减去5秒。到目前为止,我所取得的成就是

    select DATEADD(SECOND,-5,sys.fn_cdc_map_lsn_to_time(sys.fn_cdc_get_max_lsn()))
    

    sys.fn_cdc_get_max_lsn()-0.5`sys.fn_cdc_get_max_lsn()
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   EzLo tumao kaixin    7 年前

    CREATE FUNCTION dbo.MyCustomLSNDate ()
    RETURNS DATETIME
    AS
    BEGIN
        RETURN DATEADD(
                SECOND,
                -5,
                sys.fn_cdc_map_lsn_to_time(sys.fn_cdc_get_max_lsn()))
    END
    

    如果需要,可以参数化要减去的秒数。创建后,您可以简单地编写:

    SELECT dbo.MyCustomLSNDate()