06 - 1 오라클 함수

  • 내장 함수의 종류
  1. 데이터가 한 행씩 입력되고 입력된 한 핸당 결과가 하나씩 나오는 함수를 단일행 함수라고 한다.
  2. 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수를 다중행 함수라고 한다.

06 - 2 문자 데이터를 가공하는 문자 함수

  • 문자 함수는 문자 데이터를 가공하거나 문자 데이터로부터 특정 결과를 얻고자 할 때 사용하는 함수이다. 실무에서 자주 사용하는 데이터는 문자, 숫자, 날짜 데이터이다.

대 · 소문자를 바꿔 주는 UPPER, LOWER, INITCAP 함수

함수설명
UPPER(문자열)괄호 안 문자 데이터를 모두 대문자로 변환하여 반환
LOWER(문자열)괄호 안 문자 데이터를 모두 소문자로 변환하여 반환
INITCAP(문자열)괄호 안 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환
SELECT ENAME, UPPER(ENAME), LOWER(ENAME), INITCAP(ENAME)
FROM EMP;

  • 문자열 길이를 구하는 LENGHT 함수

특정 문자열의 길이를 구할 때 LENGTH 함수를 사용한다.

SELECT ENAME, LENGTH(ENAME)
FROM EMP;

SELECT ENAME, LENGTH(ENAME)
FROM EMP
WHERE LENGTH(ENAME) >= 5;

SELECT LENGTH('한글'), LENGTHB('한글')
FROM DUAL;
// LENGTG 함수는 길이 반환이라 2, LENGTHB 함수는 문자열의 바이트 수를 반환하기 때문에 4
// *한글은 한 문자당 2byte로 처리

문자열 일부를 출력하는 SUBSTR 함수

함수설명
SUBSTR(문자열 데이터, 시작 위치, 추출 길이)문자열 데이터의 시작 위치부터 추출 길이만큼 추출합니다. 시작 위치가 음수일 경우에는 마지막 위치부터 거슬러 올라간 위치에서 시작합니다.
SUBSTR(문자열 데이터, 시작 위치)문자열 데이터의 시작 위치부터 문자열 데이터 끝까지 추출합니다. 시작 위치가 음수일 경우에는 마지막 위치부터 거슬러 올라간 위치에서 끝까지 추출합니다.
SELECT JOB, SUBSTR(JOB, 1, 2), SUBSTR(JOB, 3, 2), SUBSTR(JOB, 5)
FROM EMP;

문자열 데이터 안에서 특정 문자 위치를 차즌 INSTR 함수

문자열 데이터 안에 특정 문자나 문자열이 어디에 포함되어 있는지를 알고자 할 때 INSTR 함수를 사용한다. INSTR 함수는 총 네 개의 입력 값을 지정할 수 있으며 최소 두 개의 입력 값, 즉 원본 문자열 데이터와 원본 문자열 데이터에서 찾으려는 문자 이렇게 두 가지는 반드시 시정해 주어야 한다.

INSTR([대상 문자열 데이터(필수)],
[위치를 찾으려는 부분 문자(필수)],
[위치 찾기를 시작할 대상 문자열 데이터 위치(선택, 기본값은 1)],
[시작 위치에서 찾으려는 문자가 몇 번째인지 지정(선택, 기본값은 1)]
SELECT INSTR('HELLO, ORACLE!', 'L') AS INSTR_1,
INSTR('HELLO, ORACLE!', 'L', 5) AS INSTR_2,
INSTR('HELLO, ORACLE!', 'L', 2, 2) AS INSTR_3
FROM DUAL;

특정 문자를 다른 문자로 바꾸는 REPLACE 함수

REPLACE([문자열 데이터 또는 열 이름(필수)], [찾는 문자(필수)], [대체할 문자(선택)]

⭐ 만약 대체할 문자를 입력하지 않는다면 찾는 문자로 지정한 문자는 문자열 데이터에서 삭제된다.

데이터의 빈 공간을 특정 문자로 채우는 LPAD, RPAD 함수

LPAD([문자열 데이터 또는 열이름(이름)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)]
RPAD([문자열 데이터 또는 열이름(이름)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)]

두 문자열 데이터를 합치는 CONCAT 함수

CONCAT 함수는 두 개의 문자열 데이터를 하나의 데이터로 연결해 주는 역할을 한다.

SELECT CONCAT(EMPNO, ENAME),
CONCAT(EMPNO, CONCAT( ' : ', ENAME))
FROM EMP
WHERE ENAME = 'SCOTT';

특정 문자를 지우는 TRIM, LTRIM, RTRIM 함수

TRIM([삭제 옵션(선택)] [삭제할 문자(선택)] FROM [원본 문자열 데이터(필수)]

TRIM 함수의 삭제할 문자는 필수가 아니므로 지정하지 않아도 된다. 삭제할 문자가 없으면 공백이 제거된다.

LTRIM([원본 문자열 데이터(필수)], [삭제할 문자 집합(선택)]) // 1.
RTRIM([원본 문자열 데이터(필수)], [삭제할 문자 집합(선택)]) // 2.
번호설명
1.원본 문자열의 왼쪽에서 삭제할 문자열을 지정합니다(삭제할 문자열을 지정하지 않으면 공백이 삭제됨).
2.원본 문자열의 오른쪽에서 삭제할 문자열을 지정합니다(삭제할 문자열을 지정하지 않으면 공백이 삭제됨).

06 - 3 숫자 데이터를 연산하고 수치를 조정하는 숫자 함수

  • 숫자 데이터를 다루는 함수
함수설명
ROUND지정된 숫자의 특정 위치에서 반올림한 값을 반환
TRUNC지정된 숫자의 특정 위치에서 버림한 값을 반환
CEIL지정된 숫자보다 큰 정수 중 가장 작은 정수를 반환
FLOOR지정된 숫자보다 작은 정수 중 가장 큰 정수를 반환
MOD지정된 숫자를 나눈 나머지 값을 반환

특정 위치에서 반올림하는 ROUND 함수

ROUND 함수는 TRUNC 함수와 함께 가장 많이 사용하는 숫자 함수 중 하나이다.

ROUND([숫자(필수)], [반올림 위치(선택)]) // 1.
번호설명
1.특정 숫자를 반올림한 결과를 출력하는 데 사용합니다. 반올림 위치를 지정하지 않으면 소수점 첫 번째 자리에서 반올림이 수행됩니다.

특정 위치에서 버리는 TRUNC 함수

TRUNC 함수는 지정된 자리에서 숫자를 버림 처리하는 함수이다.

TRUNC([숫자(필수)], [버림 위치(선택)]) // 1.
번호설명
1.특정 위치에서 숫자를 버림한 결과를 출력하는 데 사용합니다. 버림 위치를 지정하지 않을 경우 소수점 첫 번째 자리에서 버림이 수행됩니다.

지정한 숫자와 가까운 정수를 찾는 CEIL, FLOOR 함수

CEIL ([숫자(필수)])
FLOOR([숫자(필수)])

숫자를 나눈 나머지 값을 구하는 MOD 함수

MOD([나눗셈 될 숫자(필수)], [나눌 숫자(필수)]) // 1.
번호설명
1.특정 숫자를 나누고 그 나머지를 출력하는 함수입니다.
profile
블로그 이사 중 ⭐️ || https://bebeco.tistory.com/

0개의 댓글