>>>>rangepartLow = int( (StartPos - tnStart)/tnIncrement) >>>>rangepartHigh = int( (EndPos - tnStart)/tnIncrement) >>>>>>>
>> create cursor xx ; >> ( StartPos I, ; >> EndPos I ; >> ) >> >> insert into xx values (100, 1000) >> >> >> local tnStart, tnEnd, tnIncrement >> tnStart = 20 >> tnEnd = 2000 >> tnIncrement = 200 >> >> select StartPos, ; >> EndPos, ; >> int( (StartPos - m.tnStart)/m.tnIncrement) as PartLo, ; >> int( (EndPos - m.tnStart)/m.tnIncrement) as PartHi ; >> from xx ; >> where ( StartPos >= m.tnStart) ; >> and ( EndPos <= m.tnEnd) >> >> >> && 100, 1000, 0, 4 >> && 0: 100 >= 20 + 200 * 0, 100 < 20 + 200 * 1 >> && 4: 1000 >= 20 + 200 * 4, 1000 < 20 + 200 * 5 >>>
create cursor xx ; ( StartPos I, ; EndPos I ; ) insert into xx values (100, 1000) local tnStart, tnEnd, tnIncrement tnStart = 20 tnEnd = 2000 tnIncrement = 200 select StartPos, ; EndPos, ; m.tnStart as PartLo, ; m.tnStart + ceiling( (EndPos - m.tnStart)/m.tnIncrement) * m.tnIncrement as PartHi ; from xx ; where ( StartPos >= m.tnStart) ; and ( EndPos <= m.tnEnd)