我目前正在使用以下查询来获取 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似乎并非如此。我正在使用 Oracle,如果它有所作为的话。
谢谢
最佳答案
我喜欢尽可能使用范围比较,因为优化器可以将其用于索引扫描:
select inspections.name
from inspections
where inspections.date >= DATE '2010-06-01'
and inspections.date < DATE '2010-07-01'
关于sql - 如何正确处理查询约束中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876771/