Oracle - получить все дни месяца - PullRequest
0 голосов
/ 27 мая 2020

Как создать выберите, который возвращает все дни из месяца, где месяц = ​​PARAMETER_MONTH, например. 5 и год = выдержка (год от sysdate).

  1
  2
  3
  ..
  30
  31

1 Ответ

2 голосов
/ 27 мая 2020

«Генератор строк» ​​- ключевое слово для поиска. Например:

SQL> with temp (col) as
  2    (select to_date(&par_month, 'mm') from dual)
  3  select to_number(to_char(col + level - 1, 'dd')) day
  4  from temp
  5  connect by level <= last_day(col) - col + 1
  6  order by day;
Enter value for par_month: 5

       DAY
----------
         1
         2
         3
         4
         5
         6
<snip>
        29
        30
        31

31 rows selected.

SQL>

TO_DATE функция преобразует введенное значение в 1-й день этого месяца текущего года, поэтому вам не нужно беспокоиться о "и year = extract (год из sysdate)" "вы упомянули в вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...