Query 를 쓰다 보면 가끔가다 함수가 생각이 안날때가 있다.
아무리 기억력이 좋다 해도 그 양이 많고 다양하기 때문이라고 생각한다.
때문에 함수가 필요할 때마다 와서 보기 위해 작성하는 글이다.
즉, 내가 필요할 때 와서 보기 위해 작성하는 글이므로 부족한 부분이 있더라도 너그러이 양해바랍니다.
- 문자열 함수
- 숫자 함수
- 날짜 함수
- 변환 함수
- Null처리 함수
- 집계 함수
- 순위 함수
1. 문자열 함수
- CONCAT (문자열 결합)
- LOWER(), UPPER(), INITCAP() (소문자, 대문자, 첫 글자만 변환)
- LPAD() (주어진 문자열의 크기만큼 지정된 문자를 채워넣기)
- LTRIM(), RTRIM() (왼쪽, 오른쪽의 공백을 제거)
- TRIM() (양 옆에 존재하는 무효의 공백을 제거)
- SUBSTR() (문자열을 지정된 만큼 자름)
- REPLACE() (지정된 문자열을 치환)
- INSTR() (지정된 문자가 처음 나온 INDEX값을 반환)
2. 숫자함수
- ABS(), SIGN(), POWER(), SQRT() (수학적 함수)
- GREATEST(), LEAST() (주어진 데이터의 최대. 최소값을 반환)
- ROUND(), TRUNC() (반올림, 올림)
- FLOOR(), CEIL() (내림함수, 올림함수 FLOOR은 바닥이니까 7.6 을 7로 CEIL은 천장이니까 8로)
- MOD() (나머지 함수)
- WIDTH_BUCKET() (주어진 값을 구간으로 나누고 그 구간의 순번을 반환)
3. 날짜함수
- SYSDATE, ADD_MONTHS() (시스템시간 반환, 주어진 날짜에 ADD한 만큼 반환)
- NEXT_DAT, LAST_DAY (주어진 날짜 이후 가장 빠른 요일을 반환, 가장 마지막날을 반환)
- MONTHS_BETWEEN() (두 날짜자료 사이의 달수를 반환)
- EXTRACT() (주어진 날짜에서 원하는 부분만 출력)
4. 변환함수
- CAST() (일시적으로 타입을 변경)
- TO_CHAR() (문자타입으로 변환)
- TO_DATE(), (날짜타입으로 변환)
- TO_NUMBER() (숫자타입으로 변환)
5. NULL처리 함수
- IS NULL, IN NOT NULL (NULL인지 여부 판단)
- NVL() (NULL이면 VAL을 반환하고 아니면 자신의 값을 반환)
- NVL2() (NULL이면 VAL2을 아니면 VAL1을 반환)
- NULLIF() (둘을 비교하여 같으면 NULL 아니면 첫 번째 값 반환)
6. 집계함수
- SUM() (변수를 더함)
- AVG() (컬럼의 평균을 구함)
- COUNT() (행 수를 반환)
- MAX, MIN (각각 최대값, 최소값을 반환)
- ROLLUP() (다양한 집계를 반환 보통 : 각 그룹의 총액을 계산시 사용)
- CUBE() (주어진 컬럼의 조합 경우의 수 반환 특수한 경우가 아니라면 2^n 개 이상 나온다.)
7. 순위 함수
- RANK() 중복 값은 순위가 오르지 않고 개수만 증가
-DENSE_RANK() 중복 값은 순위가 중복되고 다음 값은 정상적으로 증가한다.
- ROW_NUMBER() 중복 값의 상관없이 정상적/순차적인 순위를 반환한다.
이상 다양한 함수를 한 곳에 적어 필요할 때 찾기 쉽도록 해놨습니다. 저는 물론 이 작성글을 사용하겠지만 저 말고도 다른 사람도 같이 봤으면 좋겠습니다.
Good~~