4. 내장 함수(STORED FUNCTION)
1) 함수
- 단일 행 함수(Single Row Function): 문자형, 숫자형, 날짜형, 변환형
- 다중 행 함수(Multi Row Function): 그룹 함수
*여러 함수를 겹쳐서 사용 가능
2) 문자형 함수
- UPPER(''): 대문자 변환
- LOWER(''): 소문자 변환
- INITCAP(''): 첫 글자만 대문자로 변환
- CONCAT('', ''): 두 문자값 결합
- SUBSTR('',a,b): 문자 추출 // a -> 시작인덱스 / b -> 추출 개수
- LENGTH(''): 문자열 길이 반환
- LPAD('a',b,'c'), RPAD('a',b,'c'): 'a'를 b크기의 공간에 입력하고 좌우측 공간을 'c'로 채움
- LTRIM, RTRIM('a', 'b'): 'a'에서 'b'를 만날 때 까지 좌우측에서부터 삭제
- TRANSLATE('a','b','c'): 'a' 문자열 중에서 'b'를 'c'로 대체 // 'b'와 'c'의 1:1 변환
- REPLACE('a','b','c'): 'a' 문자열 중에서 'b'를 'c'로 대체 // 'b'에 정확히 일치하지 않으면 변환X
* ('ABCDEFGHI','BDF','123') 수행 시 replace는 변환X, translate는 'A1C2E3GHI' 반환
3) 숫자형 함수
- ROUND(a, b): 반올림 // a를 소수점 b자리수까지 반환 (아래값 반올림)
- TRUNC(a, b): 절사 // a를 소수점 b자리까지 반환 (아래값 버림)
- MOD(a, b): 나머지 반환 // a를 b로 나눈 나머지 반환
- POWER(a, b): 거듭제곱 // a의 b승
- SQRT(a): 제곱근 // 루트a
- SIGN(a): 양수, 음수, 0 판별 // -1, 0, 1만 반환
- CHR(a): ASCII값 해당 문자 반환 // if(a=65) return A;
4) 날짜형 함수
- SYSDATE: 현재 시스템의 날짜 및 시간 반환
- LAST_DAY('a'): a에 해당하는 월의 마지막 날짜 반환 // ex) 날짜입력 예시 18/11/27
- MONTHS_BETWEEN('a','b'): a와 b의 차이 일자 반환
- ADD_MONTHS('a',b): 'a'로부터 b달 후 반환
- ROUND('a', 'b'): 'a'에 가까운 'b' 반환(반올림) // ex) '18/11/27', 'MONTH' -> '18/12/01'
- TRUNC('a', 'b'): 'a'에 해당하는 'b'의 첫 날 반환 // ex) '18/11/27', 'year' -> '18/01/01'
*sysdate 입력시 시간이 삭제되고 날짜까지만 표시
5) 변환형 함수
- TO_CHAR(문자값,'형식'): 숫자나 날짜를 문자열로 변환
*0: 빈자리를 0으로 채움 / $: 달러 / L: 지역통화단위 / .: 소수점 표시 / ,: 천단위 표시
ex) (3500000, '$999,999') -> $350,000 / (SYSDATE, 'YYYY/MM/DD') -> 2018/11/27
- TO_NUMBER('a'): 문자를 숫자로 변환 // ex) '1234' -> 1234
- TO_DATE(문자값, '형식'): 문자를 날짜로 변환
요소 | 의미 | 요소 | 의미 |
SCC | 세기 (S: 기원전) | DAY | 해당 요일 |
YEAR | 연도 | DY | 해당 요일 약어 |
YYYY | 네자리 연도 | DDD,DD,D | 연, 월, 일 중의 날짜를 숫자표시 |
YY | 끝 두 자리 연도 | HH, HH24 | (1-12), (0-23) |
MONTH | 월(9월 OR SEPTEMBER) | MI | 분 |
MON | 월(9월 OR SEP) | SS | 초 |
MM | 두 자리 월 | AM(A.A.) PM(P.M.) | 오전 OR 오후 |
6) 그룹함수
- COUNT(a): 행의 수 반환
- AVG(a): 평균
- SUM(a): 합계
- MIN(a): 최소값
- MAX(a): 최대값
- STDDEV(a): 표준 편차
- VARIANCE(a): 분산
*count(*)을 제외한 그룹함수는 null값을 고려하지 않음
'프로그래밍 > SQL' 카테고리의 다른 글
[SQL 요약 정리] 1-6. JOIN (0) | 2019.02.08 |
---|---|
[SQL 요약 정리] 1-5. SUBGROUP으로 데이터분류 (0) | 2019.02.08 |
[SQL 요약 정리] 1-3. 데이터 검색(SELECT) (0) | 2019.02.08 |
[SQL 요약 정리] 1-2. 테이블 생성 및 데이터 조작(DML) (0) | 2019.02.08 |
[SQL 요약 정리] 1-1. SQL(Structured query Language) (0) | 2019.02.08 |