문자열 함수
LOWER(대상) : 문자열을 소문자로
예시) LOWER('ABC') = abc
UPPER(대상) : 문자열을 대문자로
예시) UPPER('abc') = ABC
SUBSTR(대상,m,n) : 문자열 중 m위치에서 n개의 문자열 추출
예시) SUBSTR('ABCDE' , 2,3) = BCD
예시) SUBSTR('ABCDE', 2) = BCDE
예시) SUBSTR('ABCDE' , -4,3) = BCD
INSTR(대상, 찾을문자열, m, n) : 대상에서 찾을문자열 위치 반환
(m위치에서 시작, n번째 발견된 문자열위치)
예시) INSTR( 'A#B#C#' , '#') = 2
예시) INSTR( 'A#B#C#' , '#' , 3, 2) = 6
예시) INSTR( 'A#B#C#' , '#' , -3, 2) = 2
LTRIM(대상, 삭제문자열) : 문자열 중 특정 문자열을 왼쪽에서 삭제
예시) LTRIM( 'AABABAA' , 'A') = BABAA
RTRIM(대상, 삭제문자열) : 문자열 중 특정 문자열을 오른쪽에서 삭제
예시) RTRIM( 'AABABAA' , 'A') = AABAB
TRIM(대상) : 문자열 중 특정 문자열을 양쪽에서 삭제
예시) TRIM( ' ABCDE ' ) = ABCDE
LPAD(대상, n , 문자열) : 대상 왼쪽에 문자열을 추가하여 총 n의 길이 리턴
예시) LPAD('ABC', 5, '*') = **ABC
RPAD(대상, n , 문자열) : 대상 오른쪽에 문자열을 추가하여 총 n의 길이 리턴
예시) RPAD('ABC' , 5 , '*') = ABC**
CONCAT(대상1,대상2) : 문자열 결합
예시) CONCAT('A', 'B') = AB
LENGTH(대상) : 문자열 길이
예시) LENGTH('ABCDE') = 5
REPLACE(대상, 찾을문자열, 바꿀문자열) : 문자열 치환 및 삭제
예시) REPLACE('ABBA', 'AB', 'ab') = abBA
TRANSLATE(대상, 찾을문자열, 바꿀문자열) : 글자를 1 대 1로 치환
예시) TRANSLATE( 'ABBA', 'AB' ,'ab') = abba
숫자함수
ABS(숫자) : 절대값 반환
예시) ABS(-1.5) = 1.5
ROUND(숫자, 자리수) : 소수점 특정 자리에서 반올림
예시) ROUND(123.456,2) = 123.46
ROUND(123.456, -2) = 100
TRUNC(숫자, 자리수) : 소수점 특정 자리에서 버림
예시) TRUNC(123.456,2) = 123.45
SIGN(숫자) : 숫자가 양수면 1 음수면 -1 0이면 0반환
예시) SIGN(100) = 1
FLOOR(숫자) : 작거나 같은 최대 정수 리턴
예시) FLOOR(3.5) = 3
CEIL(숫자) : 크거나 같은 최소 정수 리턴
예시) CEIL(3.5) = 4
MOD(숫자1, 숫자2) : 숫자1을 숫자2로 나누어 나머지 반환
예시) MOD(7,2) = 1
POWER(m, n) : m의 n 거듭제곱
예시) POWER(2,4) = 16
SQRT(숫자) : 루트값 리턴
예시) SQRT(16) = 4
날짜함수
SYSDATE : 현재 날짜와 시간 리턴
예시) SYSDATE = 2024/02/14 18:44:34
CURRENT_DATE : 현재 날짜 리턴
예시) CURRENT_DATE = 2024/02/14
CURRENT_TIMESTAMP : 현재 타임스탬프 리턴
예시) CURRENT_TIMESTAMP = 2024/02/14 18:45:29 +09:00
ADD_MONTHS(날짜, n) : 날짜에서 n개월 후 날짜 리턴
예시)ADD_MONTHS(SYSDATE, 3) = 2024/05/14 18:44:34
MONTHS_BETWEEN(날짜1, 날짜2) : 날짜1과 날짜2의 개월 수 리턴
예시) MONTHS_BETWEEN(SYSDATE, HIREDATE) = 3.7234
LAST_DAY(날짜) : 주어진 월의 마지막 날짜 리턴
예시) LAST_DAY(SYSDATE) = 2024/02/29 18:44:34
NEXT_DAY(날짜, n) : 주어진 날짜 이후 지정된 요일의 첫 번째 날짜 리턴
예시) NEXT_DAY(SYSDATE, 1) = 2024/02/18 18:51:35
ROUND(날짜, 자리수) : 날짜 반올림
예시) ROUND(SYSDATE, 'MONTH') = 2024-02-01 0:00
TRUNC(날짜, 자리수) : 날짜 버림
예시) TRUNC(SYSDATE, 'MONTH') = 2024-02-01 0:00
변환함수
TO_NUMBER(문자) : 숫자 타입으로 변경하여 리턴
예시) TO_NUMBER('100') = 100
TO_CHAR(대상, 포맷) :
1) 날짜의 포맷 변경
예시) TO_CHAR(SYSDATE, 'MM/DD-YYYY') = 02/14-2024
2) 숫자의 포맷 변경
예시) TO_CHAR(9000, '9,999') = 9,000
TO_CHAR(9000, '09999') = 09000
TO_DATE(문자, 포맷) : 주어진 문자를 포맷 형식에 맞게 읽어 날짜로 리턴
예시) TO_DATE('2024/01/01', 'YYYY/MM/DD') = 2024/01/01 00:00:00
FORMAT(날짜, 포맷) : 날짜의 포맷 변경
예시) FORMAT(GETDATE(), 'YYYY') = 2024
CAST(대상 AS 데이터타입) : 대상을 주어진 데이터타입으로 변환
예시) CAST('100' AS int) = 100
그룹함수
VARIANCE(대상) : 분산 리턴
SELECT VARIANCE(SAL) FROM EMP; = 각 연산 결과
STDDEV(대상) : 표준편차 리턴
SELECT STDDEV(SAL) FROM EMP; = 각 연산 결과
일반함수
DECODE(대상, 값1, 리턴1, 값2, 리턴2, ..., 그외 리턴) : 대상이 값 1이면 리턴1, 값2와 같으면 리턴2, .. 그외에는 그외리턴값 리턴
예시) DECODE(DEPTNO,10,A,B) = A 또는 B
NVL(대상,치환값) : 대상이 널이면 치환값으로 치환하여 리턴
예시) NVL(COMM,0) = COMM값 또는 0리턴
NVL2(대상,치환값1,치환값2) : 대상이 널이면 치환값2로 치환, 널이 아니면 치환값1로 치환하여 리턴
예시) NVL2(COMM, COMM*1.1 , 0) = COMM*1.1, 0) COMM*1.1값 또는 0리턴
COALESCE(대상1, 대상2, _, 그외리턴) : 대상들 중 널이 아닌값 출력(가장 첫번째부터) 대상3, ... 모두가 널이면 그외리턴값이 리턴됨
예시) COALESCE(NULL, 100) = 100
ISNULL(대상, 치환값) : 대상이 널이면 치환값이 리턴
예시)ISNULL(NULL, 100) = 100
NULLIF(대상1, 대상2) : 두 값이 같으면 널 리턴, 다르면 대상1 리턴
예시)NULLIF(10,20) = 10
CASE문 : 조건별 치환 및 연산 수행