出现的问题:
当日期(标红的地方,yyyy-mm-dd格式)是从接口获取的字符串时,
想查询某一天的数据时发现查不到数据,而查两天就可以查到数据.
检查后,
发现是使用to_date函数不仔细引起的.
to_date( '2019-07-21' ,'yyyy-mm-dd') 默认转换成 2019-07-21 00:00:00
例如想查询2019-07-21的数据:
当开始时间 和 结束时间都是to_date( '2019-07-21' ,'yyyy-mm-dd')的话 就查不到数据了,
应该把结束时间修改成to_date( '2019-07-21 23:59:59' ,'yyyy-mm-dd hh24:mi:ss') 就能查到2019-07-21当天的数据了
详见下面三条SQL:
SELECT CREATEORDERTIME
FROM TABLEA
WHERE CREATEORDERTIME >= to_date( '2019-07-21 00:00:00' ,'yyyy-mm-dd hh24:mi:ss') AND
CREATEORDERTIME <= to_date( '2019-07-22 23:59:59' ,'yyyy-mm-dd hh24:mi:ss')
--查找的数据是 从 2019-07-21 00:00:00 - 2019-07-22 23:59:59 两天的数据
SELECT CREATEORDERTIME
FROM TABLEA
WHERE CREATEORDERTIME >= to_date( '2019-07-21' ,'yyyy-mm-dd') AND
CREATEORDERTIME <= to_date( '2019-07-22' ,'yyyy-mm-dd')
--查找的数据是 从 2019-07-21 00:00:00 - 2019-07-22 00:00:00 一天的数据
SELECT CREATEORDERTIME
FROM TABLEA
WHERE CREATEORDERTIME >= to_date( '2019-07-21' ,'yyyy-mm-dd') AND
CREATEORDERTIME <= to_date( '2019-07-21' ,'yyyy-mm-dd')
--查找的数据是 从 2019-07-21 00:00:00 - 2019-07-21 00:00:00 无数据