我有这个查询,其日期带有'+ level'。我不确定这是什么,但是执行查询会以升序给出日期列表。查询的样子如下:
select date '2018-01-01' + level -1 dt
from dual connect by level <= 1000
有指导吗?
答案 0 :(得分:1)
CONNECT BY指定层次结构的父行和子行之间的关系。
更多信息在这里-Hierarchical Queries
因此,日期01-JAN-18
将在根目录(级别1),然后向前的日期(限于1000个级别)将是子级。
1级是2级的父级,依此类推。
select date '2018-01-01' + level -1 dt, LEVEL
from dual connect by level <= 1000
有关更多信息,请参考here中的示例。
选择employee_id,last_name,manager_id 来自员工 按优先级连接employee_id = manager_id;
EMPLOYEE_ID LAST_NAME MANAGER_ID
101 Kochhar 100
108 Greenberg 101
109 Faviet 108
110 Chen 108
111 Sciarra 108
112 Urman 108
113 Popp 108
200 Whalen 101
请注意,ID为manager
的{{1}}位于组织的顶部。
答案 1 :(得分:0)
虽然Shreyas是正确的,但对您的示例来说,更简单的答案 是,“ level”就像使用connect by时出现的变量,并且就像“ loop by”连接的计数器”。这将导致查询运行1000次,级别将在循环时保留索引。在此用于计算,它将从1递增到1000。