개인적인 정리

Oracle LEAD() 본문

DB/ORACLE

Oracle LEAD()

yeon.Biju 2020. 4. 7. 10:05

오라클 LEAD()

 

LEAD()

   -

 

LEAD(value_expr, offset) RESPECT | IGNORE NULLS OVER (query_partition_clause order_by_clause)

LEAD(value_expr RESPECT NULLS, 1) OVER (query_partition_clause order_by_clause)

LEAD(value_expr, 1) OVER (query_partition_clause order_by_clause)

의 형태

 

LEAD is an analytic function. It provides access to more than one row of a table at the same time without a self join. Given a series of rows returned from a query and a position of the cursor, LEAD provides access to a row at at given physical offset beyond that position.

 

If you do not specify offset, then its default is 1. The optional default value is returned if the offset goes beyond the scope of the table. If you do not specify default, then its default value is null.

 

{RESPECT | IGNORE} NULLS determines whether null values of value_expr are included in or eliminated from the calculation . The default is RESPECT NULLS.

 

You cannot nest analytic functions by using LEAD or any other analytic function for value_expr. However, you can use other built-in function expressions for value_expr.

 

 

오라클 oe 계정으로 테스트 가능

 

 

SQL>SELECT employee_id, hire_date, last_name, 
    LEAD(hire_date, 1) OVER (ORDER BY hire_date) as "Next Hired"
FROM employees
WHERE department_id =30
ORDER BY hire_date ;

 

또는 

SQL>SELECT employee_id, hire_date, last_name, 
    LEAD(hire_date RESPECT NULLS, 1)  OVER (ORDER BY hire_date) as "Next Hired"
FROM employees
WHERE department_id =30
ORDER BY hire_date ;    

 

 

114    2002/12/07    Raphaely        2003/05/18 
115    2003/05/18    Khoo            2005/07/24 
117    2005/07/24    Tobias         2005/12/24
116    2005/12/24    Baida          2006/11/15 
118    2006/11/15    Himuro
119    2007/08/10    Colmenares

 

114번의 4번째 컬럼과 115번의 2번째 컬럼,

115번의 4번째 컬럼과 116번의 2번째 컬럼,

116번의 4번째 컬럼과 118번의 2번째 컬럼....

의 값이 같다. 

 

 

하나의 로우가 출력되면서 다음 row의 값을 출력할 수 있는 것 같다. (LEAD 안에 있는 숫자가 1이면 다음, 2이면 다다음.... ) 이다.

 

처음보는 것인지라..

'DB > ORACLE' 카테고리의 다른 글

Oracle LNNVL()  (0) 2020.04.08
Oracle LN()  (0) 2020.04.08
Oracle LISTAGG()  (0) 2020.04.08
Oracle LENGTH()  (0) 2020.04.07
Oracle LAST_VALUE()  (0) 2020.04.06
ORACLE LAST_DAY()  (0) 2020.04.06
ORACLE LAST()  (0) 2020.04.06
Oracle INSTR()  (0) 2020.04.06
Comments