表中存储的年月是分开的,years与months与days
获取到的startTime与endTime是yyyy/mm/dd形式
查询是否有这期间的某天(可能跨年)
SELECT *
FROM 表名
WHERE
(TO_CHAR(TO_DATE(TO_CHAR(YEARS) || '/' || TO_CHAR(MONTHS) || '/' || TO_CHAR(DAYS)) ,'yyyy/MM/dd')) >= '2018/08/01'
AND (TO_CHAR(TO_DATE(TO_CHAR(YEARS) || '/' || TO_CHAR(MONTHS) || '/' || TO_CHAR(DAYS)) ,'yyyy/MM/dd')) <= '2018/08/07'
如果只是对月份进行对比
比如我只是看是否有这个月,而且表中,没有天的存储,只有年和月
那么
SELECT *
FROM 表名
WHERE
(TO_CHAR(TO_DATE(TO_CHAR(YEARS) || '/' || TO_CHAR(MONTHS) || '/' || TO_CHAR('01')) ,'yyyy/MM')) >= '2018/08'
AND (TO_CHAR(TO_DATE(TO_CHAR(YEARS) || '/' || TO_CHAR(MONTHS) || '/' || TO_CHAR('01')) ,'yyyy/MM')) <= '2018/09'