본문 바로가기
DB

오라클 쿼리문 공부(FUNCTION)

by _dreamgirl 2023. 11. 24.
반응형

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

--INSTR
해당 함수는 문자열에서 문자를 찾으면 문자의 시작 위치를 반환
문자를 찾기 못하면 0을 반환

--CHAR
고정 길이 문자열을 저장하고 고정길이보다 적은 값을 입력 시 나머지 공간은 SPACE로 채움

--VHACHAR2
가변 길이 문자열을 저장하고 실제 길이의 값만 저장

--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

반응형

'DB' 카테고리의 다른 글

오라클 트리거  (1) 2024.04.04
ERWIN 사용법  (0) 2023.08.31
오라클 쿼리문 공부(TABLE)  (0) 2023.06.02
오라클 Database Link  (0) 2023.04.07
프로그래머스 SQL 테스트 3  (0) 2022.06.01

댓글