본문 바로가기
DB

오라클 DB 공부(FUNCTION)

by _dreamgirl 2023. 11. 24.
반응형

--DECODE 
오라클 쿼리에서 가장 많이 사용하는 함수 중에 하나이고
IF ELSE 와 비슷한 기능을 수행
ex) DECODE(칼럼,조건1,결과1,조건2, 결과2, 조건3,결과3...)

--INSTR
해당 함수는 문자열에서 문자를 찾으면 문자의 시작 위치를 반환
문자를 찾기 못하면 0을 반환
--SUBSTR
문자열 자르기 함수
SUBSTR(문자열, 시작위치, 길이)
SUBSTR(문자열, 위치) 위치부터 끝까지 문자열을 자른다
--LENGTH(글자), LENGTHB(글자)
LENGTH함수는 글자수를 계산하고 LENGTHB는 Byte수를 계산하여 반환한다
VARCHAR2의 경우 해당 값이 없는경우(NULL) LENGTH는 비어 있다

--ROWNUM으로 채번할 때 정렬을 안됨
정렬을 하고 싶다면 ORDER BY를 사용하는 쿼리를 내부 조인으로 해야함
SELECT ROWNUM RNUM, A.*
 FROM (
   SELECT COL1,COL2
    FROM TEST
    ORDER BY COL1
 ) A
--WITH 임시테이블명 AS ( 쿼리문 )
임시 테이블을 이용해 사용할 쿼리문

WITH TMP AS (
)
SELECT *
FROM TMP;

이렇게 하면 TMP 테이블의 결과를 확인할 수 있다.

--CASE ~ WHEN ~ THEN ~ ELSE ~ END
케이스에 해당하면 THEN 이하
해당하지 않으면 ELSE 문 실행

--LEAD 함수
오라클에서 다음 행의 값을 찾아서 리턴

--LAG 함수
오라클에서 이전 행의 값을 리턴 

LAG(expr, offset, default) OVER ( ORDER BY )
LEAD(expr, offset, default) OVER ( ORDER BY )
* 참고 사이트
https://gent.tistory.com/339

[Oracle] 오라클 LAG, LEAD 함수 사용법 (이전값, 다음값)

오라클에서 이전 행의 값을 찾거나 다음 행의 값을 찾기 위해서는 LAG, LEAD 함수를 사용하면 된다. LAG(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause) LEAD(expr [,offset] [,default]) OVER([partition_by_c

gent.tistory.com

 

반응형

'DB' 카테고리의 다른 글

오라클 트리거  (1) 2024.04.04
SQLD 자격증  (0) 2024.02.16
ERWIN 사용법  (0) 2023.08.31
오라클 DB 공부(TABLE)  (0) 2023.06.02
오라클 Database Link  (0) 2023.04.07

댓글