함수 : 컬럼의 값을 읽어서 계산 결과 반환
- 단일행 -> N개를 읽어서 N개를 반환
- 그룹 -> N개를 읽어서 1개 반환
<단일행 함수>
1. 문자열 관련 함수
- LENGTH() : 글자수 반환
- INSTR('문자열', '찾는 문자' , 시작점, N번째 문자) : 해당 문자 찾아 인덱스 반환, 시작점이 -1이면 거꾸로
- TRIM() : 양쪽 공백제거
- LTRIM / RTRIM : 왼쪽 오른쪽 공백제거
- LPAD /RPAD : 왼쪽 오른쪽에 문자 덧붙히기
- LOWER : 소문자로
- UPPER : 대문자로
- INITCAP : 카멜표기법으로
2. 숫자함수
- ABS() 절대값
- MOD() 나머지 구하기
- ROUND() 반올림, 자릿수 지정가능
- CEIL() 올림
- FLOOR() 내림
- TRUNC() 버림
3. 날짜함수
- SYSDATE :현재 DATE
- SYSTIMESTAMP : 밀리세컨드까지 반환
- MONTHS_BETWEEN (1, 2) : 1 과 2의 개월수 차이
- ADD_MONTHS() : N개월 후
- TO_CHAR : 숫자 ,날짜 -> 문자 타입으로 바꿈
- TO_DATE : 날짜 형태 문자,숫자 -> 날짜 타입으로 바꿈
4. 형변환 함수
- TO_NUMBER : 문자 -> 숫자
- TO_NUMBER('1,000,000' , '9,999,999') => 1000000 으로 형식있는 문자를 숫자로 가능
- 반대로
- TO_CHAR(1000000,'L9,999,999' => \1,000,000 으로 형식있는 문자로도 변환
5. NULL 처리함수
- NVL(컬럼 , NULL일 경우의 값) = NULL인 경우의 결과값을 지정할 수 있다
- NVL2(컬럼, NULL아닌경우, NULL인 경우 값) = NULL이 아닌경우 까지도 설정할 수 있다
- NULLIF(A,B) : A=B 이면 NULL을 A<> B 이면 A를 나타낸다
6. 선택함수 : 여러 경우(조건) 에 따라 원하는 값을 선택할 수 있도록 한다
-DECODE(계산식/컬럼 , 조건1, 값1 ,조건2, 값2 ... 조건N, 값 N , DEFAULT값 )
-CASE
WHEN ~ THEN ~
... 반복 ...(여러개 가능)
END
<그룹 함수>
- SUM, AVG , MAX, MIN
- AVG 는 계산시 NULL을 제외시킨다
- MAX 와 MIN 는 숫자 뿐만 아니라 문자와 날짜에도 적용된다
- COUNT()
- COUNT(*) + GROUP BY = 갯수가 0인 경우 출력이 되지 않는다
- COUNT(~~) 로만 사용해야 0도 포함해 출력된다.
* GROUP BY : 같은 값들을 하위 그룹으로 묶음
-SELECT 문에는 묶은 컬럼 OR 그룹함수만 올 수 있게 제한된다.
(집계함수 ROLLUP / CUBE) ->GROUP BY 뒤에 사용해서 엑셀처럼 중간 집계 , 최종 집계를 볼 때 사용한다
'개발자로 업그레이드 되자 > 오라클,SQL' 카테고리의 다른 글
오라클 DBMS 정리 6(DDL) (0) | 2021.09.29 |
---|---|
오라클 DBMS 정리 5( DML) (0) | 2021.09.28 |
오라클 DBMS 정리 4( 서브쿼리) (0) | 2021.09.28 |
오라클 DBMS 정리 3(집합 / JOIN) (0) | 2021.09.28 |
오라클 DBMS 정리 1 (0) | 2021.09.28 |