【发布时间】:2014-01-31 09:51:13
【问题描述】:
我在数据库中有以下数据集,
name city from to
john ny 01.03.2005 09.06.2005
john ln 10.06.2005 29.09.2005
john ca 30.09.2005 20.09.2013
arun va 20.09.2007 15.09.2008
arun ny 16.09.2008 09.06.2009
当我搜索给定的输入作为 name: john and from as 10.05.2005 and to as 02.09.2005 应该返回前两条记录,如果我提供 04.06.2005 和 09.06.2005 那么它应该返回第一条记录。
我有这个查询(('input from date' <= 'db from date' and 'db from date' < 'input to date') or ('db from date' <= 'input from date' and 'input from date' < 'db to date')),但我搜索的数据集很大,这个查询一直在运行。我正在尝试寻找有效的查询。
希望有人可以在这里提供答案。感谢您的回答。
【问题讨论】:
-
这对您没有帮助。
WHERE name = 'john' and (FROM_DATE >= TO_DATE('10.05.2005','DD.MM.YYYY') AND TO_DATE <= TO_DATE('02.09.2005','DD.MM.YYYY'))名称索引,from_date 应该对你有利。 FROM_DATE 应始终小于 to_date。所以你不需要验证。 -
不是跳过第一条记录吗?
-
但我的要求是,如果给定的输入符合 from 和 to 那么它应该返回该记录。