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 치환 함수 등)
반응형
'[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 |