数据库-表
PROD.APPLICATION Game ID Generated Date 1 Jan-01-1995 2 Aug-19-2003 3 Nov-04-2001 4 Sep-26-2007 5 Sep-26-2007 6 Sep-26-2007 7 Sep-19-2007 8 Sep-19-2007 9 Sep-19-2007 10 Jan-11-1985 11 MAY-19-2003 12 Sep-22-2007 13 Sep-22-2007
我运行了以下查询
SELECT * FROM PROD.APPLICATION JOIN PROD.STATUS ON (PROD.STATUS_ID = REF_STATUS.STATUS_ID) AND PROD.APPLICATION.GENERETED_DT >= to_date('2007-09-19', 'yyyy-MM-dd') AND PROD.APPLICATION.GENERETED_DT <= to_date('2007-09-26', 'yyyy-MM-dd');
搜索从2007年9月19日到2007年9月26日的记录,即8条记录。
这导致只显示2007年9月19日至2007年9月22日的记录,即仅5条记录
Actual Output Game ID Generated Date 7 Sep-19-2007 8 Sep-19-2007 9 Sep-19-2007 12 Sep-22-2007 13 Sep-22-2007
如何生成搜索查询,以便我可以获取所有8条记录-即这些日期的记录
预期产量
4 Sep-26-2007 5 Sep-26-2007 6 Sep-26-2007 7 Sep-19-2007 8 Sep-19-2007 9 Sep-19-2007 12 Sep-22-2007 13 Sep-22-2007
试过了
SELECT * FROM PROD.APPLICATION JOIN PROD.STATUS ON (PROD.STATUS_ID = REF_STATUS.STATUS_ID) AND PROD.APPLICATION.GENERETED_DT >= to_date('2007-09-19', 'yyyy-MM-dd') AND PROD.APPLICATION.GENERETED_DT = to_date('2007-09-26', 'yyyy-MM-dd');
暂无记录
该日期可能具有时间成分。这是dateOracle数据类型的一部分-但查询时通常不会显示。
date
更好的方法使用以下逻辑:
SELECT * FROM PROD.APPLICATION A JOIN PROD.STATUS S ON A.STATUS_ID = S.STATUS_ID WHERE A.GENERATED_DT >= DATE '2007-09-19' AND A.GENERATED_DT < DATE '2007-09-27';
笔记:
< DATE '2007-09-27'
DATE
WHERE
INNER JOIN