針對(duì)時(shí)間類型字段的模糊查詢
方法一:將時(shí)間類型轉(zhuǎn)換為String ,結(jié)合LIke模糊查詢?某一年 /某年某月/某年某月某日【對(duì)于時(shí)間的模糊查詢多用于電商、貨拉拉等項(xiàng)目】? ? 該種方式的效率不好
example:?時(shí)間字段?createTime。
=============================================== //查詢2019年的數(shù)據(jù)記錄
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyy') like '2019';
===============================================?//查詢202006的數(shù)據(jù)記錄
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyymm') like '202006';
===============================================?//查詢202006的數(shù)據(jù)記錄?
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyymm') like '202006';
===============================================?//查詢20200611的數(shù)據(jù)記錄??
select * from ds_dyzsk_filemodels t where to_char(t.createtime,'yyyymmdd') like '20200611';
oracle?注意:
Oracle 對(duì)字符串進(jìn)行日期轉(zhuǎn)換時(shí),如果是年月日的形式,即“2019-03-26”,將會(huì)被轉(zhuǎn)為“2019-03-26 00:00:00”
Oracle 在進(jìn)行日期比較時(shí),最好直接指定日期比較的格式,不要進(jìn)行隱式轉(zhuǎn)換
方式二:使用between and?以及? to_date()? 函數(shù)查詢某個(gè)時(shí)間段內(nèi)的記錄
查詢?時(shí)間段內(nèi)的記錄: 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');