【发布时间】:2017-05-22 20:20:06
【问题描述】:
数据库结构如下。
-----------------------------------
| product | start_year | end_year |
-----------------------------------
| prod_1 | 2001 | 2005 |
| prod_2 | 2002 | 2010 |
| prod_3 | 2003 | |
| prod_4 | 2004 | 2016 |
| prod_5 | 2005 | |
| prod_6 | 2005 | 2015 |
-----------------------------------
部分字段“end_year”为空,空白单元格表示当前年份。 我有一个参数 year,我想接收年份介于两个日期(start_year 和 end_year)之间的记录。
我可以使用此查询,但不幸的是,空单元格存在问题:
select * from table where 2003 between start_year and end_year;
【问题讨论】:
-
我编辑了这个问题 - 事实上它并不清楚。
-
在这种情况下 - 2003 年我想要获得产品:prod_1、prod_2、prod_3、prod_5、prod_6。
-
我的错误 5 和 6 不包括在内 - 我的错误。
-
对于 2004 年,我想获取产品记录:prod_1、prod_2、prod_3、prod_4。
-
没关系,但我没有得到 end_year 列为空的记录。