Как вычесть из LSN - PullRequest
       25

Как вычесть из LSN

0 голосов
/ 21 февраля 2019

Мне нужно вычесть 5 секунд из lsn (двоичная дата).То, чего я достиг до сих пор, это

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 Ответ

0 голосов
/ 21 февраля 2019

Создайте пользовательскую функцию, чтобы обернуть это:

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()
...