我如何 select 项目从日期间隔不考虑年份 — Informix DB

How can I select items from date interval regardless of years — Informix DB

我在 select 处理特定日期间隔内的项目时遇到问题。 我想从仅基于日期和月份的时间间隔中 select 项。

items_table

 item_name  | date_from
item1         30.6.2015
item2         31.7.2015
item3         5.8.2019
item4         14.8.2000

我需要这样的东西:

select * 
from items_table 
where date_from
between '****-07-31' and '****-08-13';

**** 可以是任何东西 - 例如 2010、2011、2012....

我只想得到:

item2
item3

您可以通过一些算法使用日期部分:

where month(date_from) * 100 + day(date_from) between 0731 and 0813

或作为字符串:

where to_char(date_from, '%m-%d') between '0731' and '0813'

另一个可能的解决方案:

select * 
from items_table 
where
extend(date_from, month to day) between extend('2000-07-31'::date, month to day) and extend('1998-08-13'::date, month to day);

2000 年和 1998 年不相关,因为在执行比较时它们将归零。