Запрос для поиска начала и окончания текущего периода
select sysdate
,trunc(sysdate,'MM') per_beg
,trunc (last_day (sysdate)) + 1 - 1/24/59/59 per_end
from dual
Объясню что обозначают цифры которые прибавляются к дате. Это зделано для того, чтобы получить время - 23:59:59.Как известно, в oracle прибавляемое к дате число считается за количество дней. Мы прибавляем к дате один день и вычитаем число, равно одной секунде. Для того чтобы вычислить секунду мы 1 день делим на 24 часа, потом делим на 59 минут, и в заключении делим на 59 секунд.
select sysdate
,trunc(sysdate,'MM') per_beg
,trunc (last_day (sysdate)) + 1 - 1/24/59/59 per_end
from dual
Объясню что обозначают цифры которые прибавляются к дате. Это зделано для того, чтобы получить время - 23:59:59.Как известно, в oracle прибавляемое к дате число считается за количество дней. Мы прибавляем к дате один день и вычитаем число, равно одной секунде. Для того чтобы вычислить секунду мы 1 день делим на 24 часа, потом делим на 59 минут, и в заключении делим на 59 секунд.
Комментариев нет:
Отправить комментарий