检索 fromdate 和 todate 之间的记录,在 MYSQL 或 HQL 中传递两个日期和外键值

retrieve records between fromdate and todate passing two dates and foreign key value in MYSQL or HQL

通过两个日期和外键值检索 fromdate 和 todate 之间的记录。

我试过了,

SELECT* FROM Test where T_ID = 1 and '2015-03-10' BETWEEN FROM_DATE and TO_DATE or '2015-03-18' BETWEEN FROM_DATE and TO_DATE;

但它 returns 外键记录与这些日期之间的另一个外键记录

正确的结果大小应该是 2。 但这里 returns 4.

您需要在 ()

中组织您的 OR 子句
SELECT* FROM Test
 where T_ID = 1 
and ('2015-03-10' BETWEEN FROM_DATE and TO_DATE 
or '2015-03-18' BETWEEN FROM_DATE and TO_DATE);

T_ID 在查询的第二部分没有给出。

select * from Test where T_ID = 1 and '2015-03-10' BETWEEN FROM_DATE and TO_DATE or T_ID = 1 and'2015-03-18' BETWEEN FROM_DATE and TO_DATE;