oracle表中以某一天时间为条件的查询几种写法

写法一:将列转为字符串

select * from Example where to_char(DATE_T,'yyyy-mm-dd')='2018-07-30';

在不考虑sql语句的查询性能的情况下可以考虑这种写法。

写法二:对列截取或模糊查询

select * from Example where trunc(DATE_TRAVEL) = to_date('2018-07-30','yyyymmdd');

select * from Example where DATE_T like to_date('2018-07-30','yyyymmdd');

在不考虑sql语句的查询性能的情况下可以考虑这种写法。

写法三: 不对列操作,通过设置并列条件

select * from Example  where DATE_T>= to_date('2018-07-30','yyyymmdd') and DATE_T< to_date('2018-07-30','yyyymmdd') +1;

这种写法没有对字段操作,如果在DATE_T上建立了索引,会走索引查询。查询性能较好

猜你喜欢

转载自blog.csdn.net/leo3070/article/details/81292730