[SQLD] 2과목-1. SQL 기본

seon·2025년 5월 30일

데이터분석

목록 보기
10/10
post-thumbnail

3️⃣ 함수

함수 정의

  • input value와 output value의 관계를 정의한 객체

함수 기능

  • 데이터의 계산을 수행
  • 개별 데이터의 항목을 수정

함수의 종류(입력값의 수에 따라)

  • 단일행 함수와 복수행 함수로 구분
  • 단일행 함수: input과 output의 관계가 1:1
  • 복수행 함수: 여러 건의 데이터를 동시에 입력 받아서 하나의 요약값을 리턴

입/출력값의 타입에 따른 함수 분류

  1. 문자형 함수
  • SQL Server)
    • SUBSTR -> SUBSTRING
    • LENGTH -> LEN
    • INSTR -> CHARINDEX
  1. 숫자형 함수
  • 숫자를 입력하면 숫자 값을 반환
  • 단일행 함수 형태의 숫자 함수
  • ORACLE과 SQL Server 함수 거의 동일
  1. 날짜형 함수
  • 날짜 연산과 관련된 함수
  • ORACLE과 SQL Server 함수 거의 다름
  • SQL Server)
    • SYSDATE -> GETDATE
    • ADD_MONTHS -> DATEADD(월 뿐만 아니라 모든 단위 날짜 연산 가능)
    • MONTHS_BETWEEN -> DATEDIFF(두 날짜 사이의 년, 월, 일 추출)
  1. 변환함수
  • 값의 데이터 타입을 변환
  • 문자->숫자, 숫자->문자, 날짜->문자
  • SQL Server)
    • TO_NUMBER, TO_DATE, TO_CHAR -> CONVERT(포맷 전달 시)
    • 단순 변환일 경우 주로 CAST 사용
  1. 그룹함수
  • 다중행 함수
  • SQL Server)
    • VARIANCE -> VAR
    • STDDEV -> STDEV
  1. 일반함수
  • 기타 함수(널 치환 함수 등)

  • DECODE 사용 예제1

    • 부서번호(DEPTNO)가 10번이면 인사부, 20번이면 재무부, 나머지는 널 리턴
  • DECODE 사용 예제2

    • (10이면서 (CLERK이면 A 아니면 B), 10이 아니면 C)
  • NVL, NCL2 사용예제

    • NVL2의 경우 NVL이랑 다르게 COMM의 값이 널이 아닐 때도 치환값 정의가능
    • NVL2의 경우 COMM이 널이 아니면 10% 인상값, 널이면 500 리턴
  • CASE문 사용 예제1

    • CASE문(중요): 조건문
    • CASE문을 사용하여 여러 조건(대소비교 가능)에 대한 치환 및 연산 가능!
profile
🌻

0개의 댓글