无论年份如何,如何从日期间隔中选择项目— Informix DB

时间:2020-08-06 13:07:26

标签: sql informix

我在从特定日期间隔中选择项目时遇到麻烦。 我想从仅基于天和月的间隔中选择项目。

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

2 个答案:

答案 0 :(得分:2)

您可以通过一些算术运算来使用日期部分:

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

或作为字符串:

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

答案 1 :(得分:1)

另一种可能的解决方案:

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年无关紧要,因为进行比较时它们将被清零。