Как я могу получить дату недели, месяца или года, начиная с первого дня до текущего дня текущей недели, месяца или года? - PullRequest
0 голосов
/ 25 марта 2019

Извините, если название сбивает с толку.По сути, я создаю панель мониторинга, используя Oracle Apex 18.x, и в одной моей карте я сравниваю продажи между сегодняшним днем ​​и вчерашним днем, этой неделей и прошлой неделей, этим месяцем и прошлым месяцем, а этот год - прошлым годом.

У меня нет проблем с сегодняшним днем ​​против вчерашнего.Моя проблема связана с неделей, месяцем и годом, потому что я хочу сравнивать только текущий день, а не всю последнюю неделю.

Например, если сегодня четвертый день текущей недели, то яЯ должен сравнить его только с прошлой недели и до 4-го дня.

Для месяца, если, скажем, сегодня 25 марта 2018 года, то я должен сравнивать его только с февралем месяцем только с 1-25.То же самое с годом.

Это не будет проблемой, если требуется получить полную последнюю неделю, полную в прошлом месяце и полную в прошлом году.

1 Ответ

0 голосов
/ 25 марта 2019

Для week я бы сделал это следующим образом:

select 
TRUNC(sysdate, 'DAY') start_of_the_week,
(sysdate) day_of_current_week,
(TRUNC(sysdate, 'DAY') - 7 ) start_of_last_week
(sysdate - 7) day_of_last_week,
from dual;

Для month это будет:

select 
(sysdate) day_of_current_month,
TRUNC(sysdate, 'mm') month_start_date,
ADD_MONTHS(sysdate,-1) day_of_last_month,
ADD_MONTHS(TRUNC(sysdate, 'mm'),-1) start_of_last_month
from dual;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...