如何从 LSN 中减去
How to subtract from LSN
我需要从 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()
创建一个自定义函数来包装它:
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()
我需要从 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()
创建一个自定义函数来包装它:
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()