А что мешает 2-мя запросами это сделать?
например так:
1-й определяем минимальную границу диапазона:
Код:
select max(period)
from table_name
where period<= data
тут получим ближ. начало периода
2-й определяем максимально ближнюю границу диапозона:
Код:
select min(period)
from table_name
where period>= data
получив результат этих двух запросов получим диапазон в котором лежит искомая нами дата.