Assume that you enable the Change Data Capture (CDC) feature on a table to run a log scan in Microsoft SQL Server. The pollinginterval parameter is converted from seconds (s) to hours (h) in the sys.sp_cdc_scan stored procedure. However, when the pollinginterval parameter is greater than one hour (>3600 s), you notice that the converted result is incorrect.
declare @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
set @pollinginterval = 3600
select @seconds = @pollinginterval % 60
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Next attempt below line instead
--- select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
select @hours, @minutes, @seconds
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.