我需要从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()
答案 0 :(得分:4)
创建一个自定义函数来对此进行总结:
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()