0

如果我想查找日期范围内的活动记录,是否需要将表连接到自身或仅使用一个平面 where 子句就足够了?表的架构类似于:

active_ind  bool
beg_dt_tm   datetime
end_dt_dm   datetime 

并且查询正在传递一个日期时间参数以查找该范围内的记录,所以我想知道这样的 psedu-sql 就足够了,还是我需要加入表,为什么?

select * 
from   MyTable mt
where  mt.active_ind = true 
and    param between mt.beg_dt_tm and mt.end_dt_tm 
4

1 回答 1

0

在这种情况下,您不得使用 BETWEEN。这样做:

select * 
from MyTable mt
where
    mt.beg_dt_tm >= param and 
    mt.end_dt_tm <= param
于 2015-07-24T11:49:38.173 回答