如何从日期间隔中选择项目而不考虑年份-informix db

gab6jxml  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(311)

我很难从特定的日期间隔中选择项目。我想从仅基于天和月的间隔中选择项目。
项目表

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
wdebmtf2

wdebmtf21#

可以将日期部分与一些算法结合使用:

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

或作为字符串:

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

juud5qan2#

另一种可能的解决方案:

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年是不相关的,因为在进行比较时它们将被归零。

相关问题