我目前使用以下查询在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'