以下问题的正确答案:
\n\n问题
\n\n我有一张桌子
\n\nCREATE TABLE test(\n from_date date,\n to_date date\n);\n\nINSERT INTO test(from_date,to_date)\n--VALUES(\'20171101\',\'20171115\');\nVALUES(TO_DATE(\'20171101\',\'YYYYMMDD\'),TO_DATE(\'20171115\',\'YYYYMMDD\'));\nRun Code Online (Sandbox Code Playgroud)\n\nOracle 中的以下查询仅返回一行(预期 15 行)
\n\nWITH dateCTE(from_date,to_date,d,i) AS(\n SELECT from_date,to_date,from_date AS d,1 AS i\n FROM test\n\n UNION ALL\n\n SELECT from_date,to_date,d+INTERVAL \'1\' DAY,i+1\n FROM dateCTE\n WHERE d<to_date\n)\nSELECT d,i\nFROM dateCTE\nRun Code Online (Sandbox Code Playgroud)\n\nSQL 小提琴 - http://sqlfiddle.com/#!4/36907/8
\n\n为了测试我将条件更改为i<10
WITH dateCTE(from_date,to_date,d,i) AS(\n SELECT from_date,to_date,from_date AS …Run Code Online (Sandbox Code Playgroud)