※ 함수
1. 문자 함수
함수 |
설명 |
CHR(ASCII 코드) |
ASCII 코드에 매핑된 문자나 숫자를 반환하는 함수
Ex)CHR(65) → A
|
LOWER(문자열) |
문자열을 소문자로 변환하는 함수
Ex)LOWER('SQLD') → sqld
|
UPPER(문자열) |
문자열을 대문자로 변환해주는 함수
Ex)UPPER('sqld') → SQLD
|
LTRIM(문자열, 특정 문자) |
특정 문자가 있으면 문자열 왼쪽부터 제거하고 없으면 공백만 제거
Ex)LTRIM(' SQLD')→ SQLD Ex)LTRIM('SQLD', 'SL')→ QLD |
RTRIM(문자열, 특정 문자) |
특정 문자가 있으면 문자열 오른쪽부터 제거하고 없으면 공백만 제거 |
TRIM(위치 특정 문자 FROM 문자열) |
위치(LEADING-왼쪽 or TRAILING-오른쪽 or BOTH-좌우)가 있으면 그쪽부터 특정 문자가 있으면 제거하고 위치가 없으면 양쪽 공백만 제거
Ex)TRIM(LEADING 'S' FROM 'SQLD') → QLD |
SUBSTR(문자열, 시작점, 길이) |
문자열을 시작점부터 길이만큼 자르거나 길이가 없으면 시작점부터 문자열 끝까지 자르고 반환 |
LENGTH(문자열) |
문자열의 길이를 반환하는 함수 |
REPLACE(문자열, 변경할 문자열, [대체 문자열]) |
문자열에서 변경할 문자열을 찾아 대체문자열로 바꾸는 함수로 대체 문자열이 없으면 변경할 문자열을 제거한다.
Ex) REPLACE('SQLD', 'D', 'P') → SQLP
|
2. 숫자 함수
함수 |
설명 |
ABS(숫자) |
숫자의 절대값을 반환하는 함수 |
SIGN(숫자) |
숫자가 음수면 -1, 양수면 1, 0이면 0을 반환 |
ROUND(숫자, n) |
숫자의 소수점 n번째에서 반올림. n이 음수면 n번째 정수 부분에서 반올림하고 n이 없으면 소수점에서 반올림
Ex) ROUND(167.25, -2) → 200
|
TRUNC(숫자, n) |
숫자의 소수점 n번째까지 반환. n이 음수면 n번째 정수 부분까지 출력하고 n이 없으면 정수 부분만 출력한다. |
CEIL(숫자) |
숫자보다 크거나 같은 최소 정수 반환
Ex) CEIL(47.25) → 48 Ex) CEIL(-12.33) → -12 |
FLOOR(숫자) |
숫자보다 작거나 같은 최대 정수 반환
Ex) FLOOR(47.25) → 47 Ex) FLOOR(-12.33) → -13 |
MOD(숫자1, 숫자2) |
숫자1를 숫자2로 나눈 나머지를 반환. 숫자2가 0이면 숫자1를 반환하고 두 숫자 모두 음수면 나머지도 음수 |
3. 날짜 함수
함수 |
설명 |
SYSDATE |
현재 날짜 출력 |
EXTRACT(특정 날짜 단위 FROM 날짜 데이터) |
날짜 데이터에서 특정 날짜 단위만 출력 |
ADD_MONTH(날짜 데이터, 특정 개월 수) |
날짜 데이터에 특정 개월 수를 더한 날짜 출력. 결과값이 존재할 수 없는 일자를 갖고 있는 경우 해당 월의 마지막 일자로 변경
Ex) ADD_MONTH(DATE '2022-02-28', 1) → 2022-03-31
|
4. 변환 함수
① 암시적 형변환 - 데이터베이스가 자동으로 데이터 유형을 변환하나 에러와 성능 저하가 발생가능
② 명시적 형변환 - 변환 함수를 사용하여 개발자가 데이터 유형을 변환
함수 |
설명 |
TO_NUMBER(문자열) |
문자열을 숫자형으로 변환하나 문자열이 숫자형이 아닐 경우 에러 발생 |
TO_CHAR(숫자 or 날짜, 포맷) |
숫자나 날짜 데이터를 포맷 형식의 문자형으로 변환 |
TO_DATE(문자열, 포맷) |
문자열을 포맷 형식의 날짜형으로 변환 |
5. NULL 관련 함수
함수 |
설명 |
NVL(인수1, 인수2) |
인수1의 값이 NULL인 경우 인수2를 반환하고 NULL이 아닐 경우 인수1을 반환 |
NULLIF(인수1, 인수2) |
인수1과 인수2가 같으면 NULL을 반환하고 같지 않으면 인수1을 반환 |
COALESCE(인수1, 인수2, 인수3 ...) |
NULL이 아닌 최초의 인수를 반환 |
6. CASE문 - WHEN의 조건에 참이면 THEN을 실행하고 거짓이면 ELSE를 실행
• CASE ~
WHEN ~ THEN ~
ELSE ~
END