1. 문자열 함수
LOWER(문자열)
- 문자열 소문자로 변경
UPPER(문자열)
- 문자열 대문자로 변경
ASCII(문자)
- 문자, 숫자를 ASCII로 변경
CONCAT(문자열1, 문자열2)
- 문자열1과 문자열 2 합침(||와 같은 기능)
SUBSTR(문자열, M [,N])
- 문자열 중에 M부터 N개의 문자 리턴(N이 없으면 M부터 끝까지 리턴)
LENGTH(문자열)
- 문자열 개수 리턴
LTRIM(문자열 [,지정문자])
- 문자열의 첫 문자부터 지정문자를 제거함(지정문자 생략시 “”공백 제거)
RTRIM(문자열 [,지정문자])
- 문자열 제일 마지막부터 지정문자를 제거함(지정문자 생략시 “”공백제거)
TRIM(지정문자 FROM 문자열)
- 문자열의 양끝의 지정문자 제거
2. 숫자형 함수
ABS(숫자)
- 숫자의 절대값 리턴
SING(숫자)
- 숫자의 양수, 음수, 0을 구분(결과값 -1 OR 0 OR 1)
MOD(숫자1, 숫자2)
- 숫자1/숫자2의 나머지 리턴
CEIL(숫자)
- 숫자보다 크거나 같은 최소 정수리턴
FLOOR(숫자)
- 숫자봗 작거나 같은 최대정수리턴
ROUND(숫자 [,M])
- 숫자를 M+1자리에서 반올림해서 리턴(M의 DEFAULT는 0)
TRUNC(숫자[,M])
- 숫자를 M+1자리에서 버림해서 리턴(M의 DEFAULT는0)
EXP(),POWER(),SQRT(),LOG()
- 지수, 거듭제곱, 제곱근, 로그값 리턴
3. 날짜형 함수
SYSDATE
- 현재 날짜, 시각 출력
- d 날짜에서 ‘YEAR’(년) 추출(YEAR에 MONTY, DAY 입력가능)
TO_NUMBER(TO_CHAR(D,’YYYY’))
- 날짜데이터에서 년도 출력
TO_NUMBER(TO_CHAR(D,’MM’))
- 날짜데이터에서 월도 출력
TO_NUMBER(TO_CHAR(D,’DD’))
- 날짜데이터에서 일 출력
4. 변환형 함수
TO_NUMBER(문자열)
- 문자열을 숫자로 변환
TO_CHAR(숫자|날짜 [,FOMAT])
- 숫자나 날짜를 주어진 포맷형태로 문자열 타입으로 변환
TO_DATE(문자열[,FOMAT])
- 문자열을 주어진 포맷 형태로 날짜타입으로 변환
5.CASE표현
함수의 성질을 가지고 있어 중첨해서 사용할 수 있음
1 2 3 4
| CASE SIMPLE_CASE_EXPRESSION 조건 ESLE 표현절 END
|
- 예제)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
SELECT ENAME, CASE WHEN SAL>2000 THEN SAL ELSE 2000 END REVISED_SALARY FROM EMP;
SELECT LOC, CASE LOC WHEN 'NEW YORK' THEN 'EAST' WHEN 'CHICAGO' THEN 'CENTER' ELSE 'ETC' END AS AREA FROM DEPT;
|
6.NULL관련함수
연산
NULL+숫자=NULL;(사칙연산 모두 포함)
NULL+문자열=NULL;
NVL(표현식1, 표현식2)
- 표현식 1 이NULL이면 표현식 2를 출력(두 표현식의 데이터 타입이 같아야함)
NULLIF(표현식1, 표현식2)
- 표현식1이 표현식2와 같으면 NULL, 아니면 표현식1 출력
COALESCE(표현식1,..,표현식N)
- 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식 리턴,
- 모든 표현식이 NULL이면 NULLD을 리턴
NULL과 공집합
테이블 안에 값이 NULL이면 NULL, 테이블 이 선택안되면 공집합
공집합을 NULL로 바꾸기 위해 적절한 함수 사용 EX)MAX()
NULLIF
1 2 3 4
|
SELECT ENAME, EMPNO, MGR, NULLIF(MGR, 7698) NUIF FROM EMP;
|
COALESCE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
SELECT ENAME, COMM, SAL, COALESCE(COMM, SAL) COAL FROM EMP;
SELECT ENAME, COMM, SAL CASE WHEN COMM IS NOT NULL THEN COMM ELSE (CASE WHEN SAL IS NOT NULL THEN SAL ELSE NULL END) END COAL FROM EMP;
|