*내장함수
-함수의 입력 값에 따라 단일행 함수와 다중행 함수로 나뉜다.
-함수는 입력값이 아무리 많아도 출력값은 하나라는 M:1 관계라는 중요한 특징을 가진다.
단일행 함수 : 단일행 내에 있는 하나의 값 또는 여러 값이 입력 인수로 사용
다중행 함수 : 여러 레코드의 값들을 입력 인수로 사용
*단일행함수_문자형 함수
문자형 함수 | 함수명 | 설명 |
ASCII(문자) | 문자나 숫자를 ASCII코드 번호로 출력 | |
CHR / CHAR(ASCII번호) | ASCII 코드 번호를 문자나 숫자로 출력 | |
CONCAT(문자열1, 문자열2) | 문자열은 연결 | |
SUBSTR / SUBSTRING(문자열, M[N] | 문자열 중 M 위치부터 N개의 문자 변환( N 생략시 마지막 문자까지) | |
LTRIM(문자열, 지정문자) | 문자열 앞쪽부터 확인해 지정 문자가 처음 나타나는 동안 해당 문자를 제거 | |
RTRIM(문자열, 지정문자) | 문자열 뒷쪽부터 확인해 지정 문자가 처음 나타나는 동안 해당 문자를 제거 | |
TRIM( [ leading | trailing | both ] 지정문자 FROM 문자열 ) | 머리말, 꼬리맛, 양쪽 지정 문자 제거 |
*단일행함수_숫자형 함수
숫자형 함수 | 함수 | 설명 |
ABS(숫자) | 절대값 반환 | |
SIGN(숫자) | 양수, 0, 음수 판변 | |
MOD(숫자1, 숫자2) | 숫자1을 숫자2로 나누어 나머지 값 반환 (%) | |
CEIL / CEILING(숫자) | 크거나 같은 최소 정수 반환 (정수값으로 올림) |
|
FLOOR(숫자 [M]) | 작거나 같은 최대 정수 반환 (정수값으로 버림) |
|
ROUND(숫자 [M]) | 소수점 M자리에서 반올림 | |
TRUNC(숫자 [M]) | 소수 M자리 뒤로 잘라서 버림 |
*단일행함수_날짜형 함수
날짜형 함수 | 함수 | 설명 |
SYSDATE / GETDATE | 현재 날짜와 시각 반환 | |
EXTRACT ( 'YEAR' | 'MONTH' | DAY' FROM D) | 년 / 월 / 일 데이터 추출 | |
DATEPART( 'YEAR' | 'MONTH' | 'DAY' , D) | 시간 / 분 / 초도 추출 | |
*반환형 함수
명시적 반환 : 데이터 반환형 함수로 변환하도록 명시
암시적 반환 : 데이터베이스가 자동으로 변환하여 계산
*CASE 표현
- CASE 표현은 IF - THEN - ELSE 논리와 유사한 방식으로 표현식을 작성하여, SQL의 비교 연산 기능을 보완하는 역할
-ANSI / ISO 표준에서는 CASE Expression 이라고 표시.
*NVL / ISNULL 함수
-테이블 생성시, NOT NULL로 지정하지 않은 모든 데이터 유형은 NULL 값을 가질 수 있음
NYL / ISNULL(판단대상, 대체값) : 판단대상의 값이 NULL이면 대체값 출력
(판단대상과 대체값 데이터 타입이 같아야함)
NULLIF(판단대상, 비교대상) : 판단대상 = 비교대상이면 NULL, 아닐경우 판단대상 리턴
COALESCE(표현식1, 표현식2...) : NULL이 아닌 최초의 표현식 리턴, 없으면 NULL 리턴
*공집합
-조건에 맞는 데이터가 한 건도 없는 경우
-NULL은 아님
**인수값이 공집한인 경우 NVL / ISNULL을 사용해도 공집합이 출력
NVL / ISNULL -> 널 값을 대체값으로 표현하고 싶을 때 이용
NULLIF -> 특정 값을 NULL로 대체하는 경우에 유용하게 이용
COALESCE -> 함수는 두 개의 중첩된 CASE 문장으로 표현이 가능
'메모장' 카테고리의 다른 글
[SQLD] 개념요약 - 과목 1데이터 모델링의 이해 (0) | 2022.05.19 |
---|---|
[SQLD] 2-1-8. ORDER BY 절 (0) | 2022.05.17 |
[SQLD] 2-1-7. Group By / Having 절 (0) | 2022.05.17 |
[SQLD] 2-1-5. Where 절 (0) | 2022.05.12 |
[SQLD] 2-1-4. TCL (0) | 2022.05.12 |