DML - 함수

ㅎㄱㅇ·2024년 1월 23일
0

DB공부

목록 보기
9/14

🧸 함수


하나의 큰 프로그램에서 반복적으로 사용되는 부분들을 분리하여 작성해 놓은 작은 서브 프로그램

함수 분류

⭐단일 행 함수
     - 문자 처리 함수
     - 숫자 처리 함수
     - 날짜 처리 함수
     - 형 변환 함수
     - NULL 처리 함수
     - 선택 함수

그룹 행 함수



🎀 단일 행 함수


각 행마다 반복적으로 적용되어 입력 받은 행의 개수만큼 결과 반환


✨1. 문자 처리 함수


👉 LENGTH

주어진 컬럼 값/문자열의 길이(문자 개수) 반환

LENGTH(CHAR|STRING)

👉 LENGTHB

주어진 컬럼 값/문자열의 길이(BYTE) 반환

👉 INSTR

문자열로부터 특정 문자의 시작 위치를 찾아서 반환

👉 SUBSTR

문자열에서 특정 문자열을 추출해서 반환

👉 LPAD / RPAD

문자열의 왼쪽 / 오른쪽에 특정 문자를 덧붙여서 반환

👉 TRIM / LTRIM / RTRIM

문자열에서 특정 문자열을 제거해서 반환

👉 TRUNC()

  • 날짜나 숫자 값을 특정 단위로 절삭(truncate)하는 데 사용되는 함수.
  • 날짜의 경우, 특정 날짜를 다양한 단위로 절삭할 수 있음

TRUNC(date)은 해당 날짜의 자정 (midnight)을 나타냄. 또한, TRUNC(date, 'unit') 형식을 사용하여 특정 단위로 날짜를 절삭할 수 있음

-- date를 자정으로 절삭
SELECT TRUNC(SYSDATE) FROM dual;

-- date를 월 단위로 절삭
SELECT TRUNC(SYSDATE, 'MONTH') FROM dual;
-- * dual : Oracle에서 더미 테이블로 사용되는 특수한 테이블

TRUNC(SYSDATE - HIRE_DATE) : SYSDATE와 HIRE_DATE 간의 시간 차이를 일(day)로 절삭하여 반환

✨2. 숫자 처리 함수


✨3. 날짜 처리 함수


👉 MONTHS_BETWEEN

인자로 날짜 두 개를 전달받아 개월 수 차이를 숫자 데이터형으로 반환

MONTHS_BETWEEN(기준이 되는 날짜, 개월 수를 구하려는 날짜)

MONTHS_BETWEEN(SYSDATE, HIRE_DATE)

👉 ADD_MONTHS

인자로 전달받은 날짜에 인자로 받은 숫자만큼 개월 수를 더하여 특정 날짜 반환

ADD_MONTHS(기준이 되는 날짜, 더하려는 개월 수)

ADD_MONTHS(HIRE_DATE, 6)

👉 NEXT_DAY

인자로 전달받은 날짜에 인자로 받은 요일이 가장 가까운 날짜 반환

NEXT_DAY(DATE,STRING[OR NUMBER]
-- 일 : 1, 월 : 2, ... , 토 : 7

NEXT_DAY(SYSDATE, ‘월요일’)
NEXT_DAY(SYSDATE, 2)
NEXT_DAY(SYSDATE, ‘월’)

👉 LAST_DAY

인자로 전달받은 날짜가 속한 달의 마지막 날짜 반환

🎀 그룹 함수

  • 특정 행들의 집합으로 그룹이 형성되어 적용됨
  • 그룹 당 1개의 결과 반환

0개의 댓글