본문 바로가기

[DB]DataBase/[SQL]

[SQLD] 함수

728x90
반응형

함수 정의

  • input value가 있을 경우 그에 맞는 output value를 출력해주는 객체
  • input value와 output value의 관계를 정의한 객체
  • from절을 제외한 모든 절에서 사용 가능

 

함수 기능

  • 기본적인 쿼리문을 더 강력하게 함
  • 데이터의 계산을 수행함
  • 개별 데이터의 항목을 수정함
  • 표시할 날짜 및 숫자 형식을 지정함
  • 열 데이터의 유형(data type)을 변환함

 

함수 종류

함수 종류

단일행 함수와 복수행 함수로 구분

  • 단일행 함수(Single-row Function)
    • input과 output의 관계가 1:1
  • 복수행 함수(다중행 함수, Multi-row Function)
    • 여러 건의 데이터를 동시에 입력 받아서 하나의 요약값을 리턴
    • 그룹함수 또는 집계함수라고도 함

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

단일행 함수의 종류

문자형 함수

  • 문자열 결합, 추출, 삭제 등을 수행
  • 단일행 함수 형태
  • output은 대부분 문자값(LENGTH, INSTR 제외)

단일행 문자형 함수의 종류
단일행 문자형 함수 사례
문자형 함수 종류

SQL-Server의 경우,

  • SUBSTR -> SUBSTRING
  • LENGTH -> LEN
  • INSTR -> CHARINDEX

숫자형 함수

  • 숫자를 입력하면 숫자 값을 반환
  • 단일행 함수 형태의 숫자함수
  • ORACLE과 SQL-Server 함수가 거의 동일

단일행 숫자형 함수 종류
단일행 숫자형 함수 사례
숫자형 함수 종류

날짜형 함수

  • 날짜 연산과 관련된 함수
  • ORACLE과 SQL-Server 함수가 거의 다름

단일행 날짜형 함수 종류 및 데이터 연산
날짜형 함수 종류

SQL-Server의 경우,

  • SYSDATE -> GETDATE
  • ADD_MONTHS -> DATEADD
    • 월 뿐만 아니라 모든 단위 날짜 연산 가능
  • MONTHS_BETWEEN -> DATEDIFF
    • 두 날짜 사이의 년, 월, 일 추출

변환함수

  • 값의 데이터 타입을 변환
  • 문자를 숫자로, 숫자를 문자로, 날짜를 문자로 변경

단일행 변환형 함수의 종류
변환함수 종류

SQL-Server의 경우,

  • TO_NUMBER, TO_DATE, TO_CHAR -> CONVERT
    • 포맷을 같이 전달해야 함
  • 단순 변환일 경우 주로 CAST를 사용

그룹함수

  • 다중행 함수
  • 여러 값이 input 값으로 들어가서 하나의 요약된 값으로 리턴
  • GROUP BY와 함께 자주 사용
  • ORACLE과 SQL-Server 거의 동일

그룹함수 종류
집계함수 종류

일반함수

  • 기타 함수(NULL 치환 함수 등)

단일행 NULL 관련 함수의 종류
일반함수 종류

 

반응형

'[DB]DataBase > [SQL]' 카테고리의 다른 글

[SQLD] GROUP BY, HAVING절  (0) 2024.04.27
[SQLD] WHERE절  (0) 2024.04.25
[SQLD] SELECT 문  (0) 2024.03.11
[SQLD] 관계형 데이터베이스 개요  (0) 2024.03.10
[SQLD] 본질 식별자 vs. 인조식별자  (0) 2024.03.06