Oracle 내장함수

ORACLE 2009. 4. 14. 11:52

1. 숫자함수

CEIL(n) : 주어진 값보다는 크지만 가장 근접하는 최소값을 구하는 함수
FLOOR(n) : 주어진 값보다 작거나 같은 최대 정수값을 구하는 함수
ROUND(n, [m]) : n값의 반올림 (m은 소숫점 아래 자릿수)
TRUNC(n, m) : n값을 m 소숫점 자리로 반내림한 값 반환
MOD(m, n) : m을 n으로 나누어 남은 값 반환 (n이 0일 경우 m을 반환)
ABS(n) : 절대값
EXP(n) : 주어진 값의 e의 승수 (e는 2.171828183...)
LN(n) : 주어진 값의 자연로그 값
POWER(m, n) : m의 n승
SIGN(n) : n<0일 경우 -1, n=0일 경우 0, n>0일 경우 1
SQRT(n) : n값의 루트값 (n은 양수)



2. 문자열 처리함수

CONCAT(char1, char2) : 문자열 결합 ("||" 연산자)
INITCAP(char) : 주어진 문자열의 첫 번째 문자를 대문자로 변환
LOWER(char) : 문자열을 소문자로 변환
UPPER(char) : 문자열을 대문자로 변환
LPAD(char1, n [,char2]) : 왼쪽에 문자열을 끼어 놓는 역할 (n은 반환되는 문자열의 전체 길이를 나타내며, char1의 문자열이 n보다 클 경우 char1을 n개 문자열 만큼 반환)
RPAD(char1, n [,char2]) : 오른쪽에 문자열을 끼어 놓는 역할
SUBSTR(char, m ,[n]) : m번째 자리부터 길이가 n개인 문자열을 반환 (m이 음수일 경우에는 뒤에서 반대 방향으로)
LENGTH(char1) : 문자열 길이
REPLACE(char1, str1, str2) : 문자열의 특정 문자를 다른 문자로 변환
INSTR : 문자열이 포함되어 있는지를 조사하여 문자열의 위치를 반환 (지정한 문자열이 발견되지 않으면 0이 반환)
TRIM : 특정 문자 제거 (제거할 문자를 입력하지 않으면 기본적으로 공백 제거)

-- TRIM 예제
SQL>SELECT TRIM('B' FROM 'ABCDEFG') FROM dual;



3. 날짜 처리함수

LAST_DAY(d) : 지정한 일자에 해당하는 달의 마지막 일자 반환
ADD_MONTHS(a, b) : a의 날짜에 b의 개월 수를 더한 값을 반환
MONTH_BETWEEN(a1, a2) : a1과 a2 사이의 개월 수 반환
ROUND(d[,F]) : F에 지정된 단위로 날짜를 반올림 (F가 연도라면 연도 단위로 반올림)

-- ROUND 예제 : '2009/04/13' 의 년도인 2009을 반환
SQL>SELECT ROUND(TO_DATE('2009/04/13'), 'YEAR') FROM dual;



4. 변환함수

TO_CHAR : DATE, NUMBER를 VARCHAR2 타입으로 변환
TO_DATE : CHAR, VARCHAR2를 DATE 타입으로 변환
TO_NUMBER : CHAR, VARCHAR2를 NUMBER 타입으로 변환



기타함수

NVL

DECODE : 형식은 DECODE(VALUE, IF1, THEN1, IF2, THEN2...)

GREATEST : 검색값 중에서 가장 큰 값을 반환
LEAST : GREATEST 함수와 반대로 가장 작은 값을 반환
VSIZE : 해당 문자의 BYTE 수 반환 (해당 문자가 NULL이면 NULL 반환)

-- 가장 큰수/가장 작은수 반환 예제
SQL>SELECT GREATEST(10, 100, 5, -7) FROM dual;
SQL>SELECT LEAST(10, 100, 5, -7) FROM dual;







Posted by 하이안
,