针对时间类型字段的模糊查询
方法一:将时间类型转换为String ,结合LIke模糊查询 某一年 /某年某月/某年某月某日【对于时间的模糊查询多用于电商、货拉拉等项目】 该种方式的效率不好
example: 时间字段 createTime。
=============================================== //查询2019年的数据记录
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyy') like '2019';
=============================================== //查询202006的数据记录
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyymm') like '202006';
=============================================== //查询202006的数据记录
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyymm') like '202006';
=============================================== //查询20200611的数据记录
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyymmdd') like '20200611';
oracle 注意:
Oracle 对字符串进行日期转换时,如果是年月日的形式,即“2019-03-26”,将会被转为“2019-03-26 00:00:00”
Oracle 在进行日期比较时,最好直接指定日期比较的格式,不要进行隐式转换
方式二:使用between and 以及 to_date() 函数查询某个时间段内的记录
查询 时间段内的记录: 20200506 00:00:00----》 20200619 23:56:56
select * from ds_dyzsk_filemodels t where t.createtime between to_date('20200506 00:00:00','yyyymmdd hh24:mi:ss') and to_date('20200619 23:56:56','yyyymmdd hh24:mi:ss');