如何在 DB2 中以 YYYYMMDD 格式获取当年的第一天和最后一天?
我试过:
SELECT SUBSTR(CHAR(CURRENT DATE),8,0)||'0101'
和:
SELECT SUBSTR(CHAR(CURRENT DATE),8,0)||'1231
但是在我输入年份之前它不起作用,但我需要将年份作为参数“不需要每年在查询中更改它”
最佳答案
你可以这样做:
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
FIRST_DAY_OF_THE_YEAR | LAST_DAY_OF_THE_YEAR --------------------: | -------------------: 2020-01-01 | 2020-12-31
If you want the results as strings in YYYYMMDD
format, you can format the results with 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
关于sql - 在DB2中选择今年的第一天和最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60949092/