Выберите первый и последний день этого года в DB2 - PullRequest
2 голосов
/ 31 марта 2020

Как получить первый и последний день текущего года в DB2 в формате ГГГГММДД?

Я пробовал:

SELECT SUBSTR(CHAR(CURRENT DATE),8,0)||'0101' 

И:

SELECT SUBSTR(CHAR(CURRENT DATE),8,0)||'1231

Но это не работает, пока я не укажу год, но мне нужно, чтобы год был параметром "не нужно менять его каждый год в запросе"

1 Ответ

3 голосов
/ 31 марта 2020

Вы можете сделать:

select
    date('0001-01-01') + year(current date) years - 1 year first_day_of_the_year,
    date('0001-01-01') + year(current date) years - 1 day  last_day_of_the_year
from sysibm.sysdummy1

Демонстрация на DB Fiddle :

FIRST_DAY_OF_THE_YEAR | LAST_DAY_OF_THE_YEAR
--------------------: | -------------------:
           2020-01-01 |           2020-12-31

Если вы хотите, чтобы результаты в виде строк в YYYYMMDD формат, вы можете отформатировать результаты с to_char():

select
    to_char(date('0001-01-01') + year(current date) years - 1 year, 'yyyymmdd') first_day_of_the_year,
    to_char(date('0001-01-01') + year(current date) years - 1 day, 'yyyymmdd')  last_day_of_the_year
from sysibm. sysdummy1
...