[오라클SQL과PLSQL을다루는기술]4. SQL 함수
숫자 함수
ABS(n) : 절대값
ex) ABS(-10.123) : 10.123
CEIL(n), FLOOR(n) : 올림, 내림
ex) CEIL(11.001) : 12, FLOOR(11.001) : 11
ROUND(n, i) : n을 소수점 i+1번 째에서 반올림한 결과
ex) ROUND(10.123, 2) : 10.12
TRUNC(n1, n2) : n1을 소수점 기준 n2자리에서 잘라낸 결과
ex) TRUNC(11.123, 2) : 11.12
POWER(n2, n1) : n2를 n1 제곱
SQRT(n) : n의 제곱근
MOD(n2, n1) : n2를 n1으로 나눈 나머지 값
REMAINDER(n2, n1) : n2를 n1으로 나눈 나머지 값
EXP(n)
LN(n)
LOG(n2, n1)
문자 함수
INITCAP(char) : char의 첫 문자는 대문자로 나머지는 소문자로 반환
LOWER(char)
UPPER(char)
CONCAT(char1, char2) : || 연산자처럼 두 문자를 붙여 반환
SUBSTR(char, pos, len) : 대상 문자열 char의 pos번째 문자부터 len 길이만큼 잘라낸 결과 반환
SUBSTRB(char, pos, len) : 문자 갯수가 아닌 바이트수 만큼 잘라낸 결과 반환
ex) SUBSTRB('ABCDEFG', 1, 4) : ABCD, SUBSTRB('가나다라마바사', 1, 4) : 가나
LTRIM(char, set), RTRIM(char, set) : char 문자열에서 set으로 지정된 문자열을 왼쪽 또는 오른쪽 끝에서 제거한 후 나머지 문자열 반환
ex) LTRIM('ABCDEFGABC', 'ABC') : DEFGABC, RTRIM('ABCDEFGABC', 'ABC') : ABCDEFG
※set 문자열이 맨왼쪽 또는 오른쪽에 없고 중간에 있다면 문자열 전체 반환한다.
set를 생략하면 공백 문자 한글자가 set로 사용된다.
> 공백 제거
LPAD(expr1, n, expr2), RPAD(expr1, n expr2) : expr2를 왼쪽 또는 오른쪽부터 채워 expr1을 반환, n은 expr2와 expr1이 합쳐져 반환되는 총 자릿수를 의미한다.
> expr2를 생략하면 디폴트로 공백 한 문자
REPLACE(char, search_str, replace_str)
TRANSLATE(expr, from_str, to_str)
INSTR(str, substr, pos, occur) : str 문자열에서 substr과 일치하는 위치를 반환. pos는 시작 위치로 디폴트는 1, occur은 몇 번째 일치하는지 명시하는 값으로 디폴트는 1
LENGTH(chr), LENGTHB(chr)
날짜 함수
SYSDATE
ADD_MONTHS(date, integer)
MONTHS_BETWEEN(date1, date2)
LAST_DAY(date) : date 기준으로 해당 월의 마지막 일자를 반환
ROUND(date, format), TRUNC(date. format) : ROUND는 format에 따라 반올림한 날짜를, TRUNC는 잘라낸 날짜를 반환
ex) SYSDATE : 2015-03-16 22:11:51
ROUND(SYSDATE, 'MONTH') : 2015-04-01 00:00:00
TRUNC(SYSDATE, 'MONTH') : 2015-03-01 00:00:00
NEXT_DAY(date, char) : date를 char에 명시한 날짜로 다음 주 주중 일자를 반환
변환 함수
TO_CHAR(숫자 혹은 날짜, format)
TO_NUMBER(expr, format)
TO_DATE(char, format)
NULL 관련 함수
NVL(expr1, expr2), NVL2(expr1, expr2, expr3) : expr1이 NULL 이면 expr2 반환 아니면 expr3 반환
COALESCE(expr1, expr2, ...) : NULL이 아닌 첫 번째 표현식을 반환하는 함수
기타함수
GREATEST(expr1, expr2, ...), LEAST(expr1, expr2, ...)
DECODE(expr, search1, result1, search2, result2, ..., defalut)