我目前使用以下查询在2010年6月完成所有检查:

select inspections.name
from inspections
where
  to_char(inspections.insp_date, 'YYYY') = 2010 and
  to_char(inspections.insp_date, 'MM') = 06;

但这感觉有点尴尬。难道没有更好的方法来做这件事吗?看看http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html似乎不是这样。我用的是甲骨文,如果它有区别的话。
谢谢

最佳答案

我喜欢在可能的情况下使用范围比较,因为优化器可以使用它进行索引扫描:

select inspections.name
  from inspections
 where inspections.date >= DATE '2010-06-01'
   and inspections.date < DATE '2010-07-01'

10-05 20:16