Post

Oracle 내장함수

문자열 함수

CONCAT(str1, str2): 두 문자열을 결합합니다.

SUBSTR(str, start, length): 문자열의 일부를 추출합니다.

INSTR(str, substr): 문자열에서 하위 문자열의 위치를 찾습니다.

UPPER(str), LOWER(str), INITCAP(str) : 문자열을 대문자 또는 소문자로 변환합니다.

LENGTH(str): 문자열의 길이를 반환합니다.

CONCAT() : 두 문자열 결합합니다.

TRIM((삭제 옵션) (삭제할 문자) FROM 원본 문자열) : 특정 문자열 삭제합니다.

LTRIM(원본 문자열, (삭제할 문자)), RTRIM() : 특정 문자열 삭제합니다.

숫자 함수

ROUND(num), TRUNC(num): 소수점 이하를 반올림 또는 절삭합니다.

MOD(x, y): 나머지 연산을 수행합니다.

ABS(num): 숫자의 절대값을 반환합니다.

날짜 함수

SYSDATE: 현재 날짜와 시간을 반환합니다.

TO_DATE(str, format): 문자열을 날짜로 변환합니다.

MONTHS_BETWEEN(date1, date2): 두 날짜 간의 개월 수를 계산합니다.

TO_CHAR(날짜, 문자 형태) : 날짜 데이터를 문자 데이터로 변환합니다.

TRUNC(날짜, 버림 포맷) : 날짜를 특정 단위로 버립니다.

1
2
3
4
5
6
TRUNC(date, format) // 버릴 날짜, 버릴 단위를 지정(선택)

SELECT TRUNC(SYSDATE, 'HH24') FROM DUAL; // 현재 날짜에서 시간과 분을 버림

// 시간 부분이 00:00:00으로 설정됩니다.

NEXT_DAY(날짜, 요일) : 특정 날짜 이후로 다음에 오는 특정 요일의 날짜를 반환합니다.

1
2
SELECT NEXT_DAY(SYSDATE, 'FRIDAY') FROM DUAL;
// 현재 날짜를 기준으로 다음주 금요일 반환

LAST_DAY(날짜) : 해당 달의 마지막 날짜 반환합니다.

1
2
SELECT LAST_DAY(SYSDATE) FROM DUAL;

NULL 처리 함수

NVL(expr1, expr2): 첫 번째 식이 NULL인 경우 두 번째 식을 반환합니다.

1
2
3
SELECT id, name, NVL(age, 0) AS age_with_default
// 나이(age) 열에서 NULL인 값을 0으로 대체하여 결과를 조회

NVL2(expr1, expr2, expr3) : 첫번째 식이 NULL이 아닌 경우, 두번째 식이 반환됩니다. 첫번째 식이 Null인 경우, 3번째 식이 반환됩니다.

1
2
3
4
5
6
SELECT name,
       NVL2(age, 'Age is not NULL', 'Age is NULL') AS age_status
FROM example_table;

// age 열이 NULL이면 'Age is NULL'을 반환하고, 그렇지 않으면 'Age is not NULL'을 반환

조건 함수

DECODE(expression, search1, result1, search2, result2, …, default)
특정 값에 대한 조건을 지정하고, 조건에 따라 다른 값을 반환합니다.
1
2
3
4
5
6
SELECT name,
       DECODE(age, NULL, 'Age is NULL', 'Age is not NULL') AS age_status
FROM example_table;

// age 열이 NULL이면 'Age is NULL'을 반환하고, 그렇지 않으면 'Age is not NULL'을 반환

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

ELSE default_result

END

:CASE 문은 여러 조건을 더 편리하게 다룰 수 있고, 더 복잡한 로직을 구현할 때 더 용이합니다.

1
2
3
4
5
6
7
8
SELECT name,
       CASE
           WHEN age IS NULL THEN 'Age is NULL'
           ELSE 'Age is not NULL'
       END AS age_status
FROM example_table;


집계 함수

SUM(column), AVG(column): 열의 합과 평균을 계산합니다.

MIN(column), MAX(column): 열의 최솟값과 최댓값을 찾습니다.

COUNT(column): 특정 열의 행 수를 계산합니다.

This post is licensed under CC BY 4.0 by the author.