티스토리 뷰

 

내장 함수


내장 함수란 CREATE FUNCTION 기능을 사용해 만든 함수가 아닌, 오라클 자체적으로 제공하는 함수를 말한다. 내장 함수는 의외로 간단한 해결책을 제시해 주기도 한다. 상황에 맞는 적절한 함수를 사용하기 위해서는 어떤 기능을 하는 함수들이 존재하는지 정학하게 파악하고 있어야 한다.

오라클의 함수는 크게 2가지로 분류한다. 하나는 단일행 함수 다른 하나는 그룹 함수이다. 공통점은 단일행 함수나 그룹 함수 모두가 결과로 반환하는 ROW는 하나라는 것이다.

차이점은 단일행 함수는 1개 ROW 값이 함수에 적용되어 1개 ROW를 리턴되며 그룹 함수는 1개 이상의 ROW 값이 함수에 적용되어 1개의 값을 반환한다.

 

단일행 함수(문자 함수)

대분류 소분류 함수 기능
단일행 함수 문자 ASCII 지정된 문자의 ASCII 값을 반환한다.
CHR 지정된 수치와 일치하는 ASCII 코드 반환한다.
RPAD 왼쪽 정렬 후 오른쪽에 생긴 빈 공백에 특정 문자를 채워 반환한다.
LPAD 오른쪽 정렬 후 왼쪽에 생긴 빈 공백에 특정 문자를 채워 반환한다.
TRIM 문자열 공백 문자들을 삭제한다.
RTRIM 문자열 오른쪽(뒤)의 공백 문자들을 삭제한다.
LTRIM 문자열 왼쪽(앞)의 공백 문자들을 삭제한다.
LOWER 지정된 문자를 소문자로 반환한다.
UPPER 지정된 문자를 대문자로 반환한다.
INSTR 특정문자의 위치를 반환한다.
INITCAP 지정된 문자열의 첫 단어를 대문자로 나머지는 소문자로 반환한다.
SUBSTR 시작 위치부터 선택 개수만큼의 문자를 반환한다.
LENGTH 문자열의 길이를 반환한다.
REPLACE 첫 번째 지정한 문자를 두 번째 지정한 문자로 바꿔 준다.

 

ACSII

-- 지정된 문자의 ASCII 값을 반환한다.
SELECT ASCII('A')
  FROM DUAL;

CHR

-- 지정된 수치와 일치하는 ASCII 코드를 반환한다.
SELECT CHR(65)
  FROM DUAL;

RPAD (RIGHT PADDING)

-- 왼쪽 정렬 후 오른쪽에 생긴 빈 공백에 특정 문자를 채워 반환한다.
SELECT RPAD(DEPT_NAME, 10, '*')
  FROM TDEPT;

LPAD (LEFT PADDING)

-- 오른쪽 정렬 후 왼쪽에 생긴 빈 공백에 특정 문자를 채워 반환한다.
SELECT LPAD(DEPT_NAME, 10, '*')
  FROM TDEPT;

TRIM

-- 문자열 공백 문자들을 삭제한다.
SELECT TRIM('  REFERENCE  ')
  FROM DUAL;

-- 컬럼이나 대상 문자열에서 특정 문자가 첫 번째나 마지막에 위치해 있으면, 해당 특정 문자를 잘라낸 후 남은 문자열만 반환한다.
SELECT TRIM('x' FROM 'abcxREFERENCExxx')
  FROM DUAL;

RTRIM

-- 문자열 오른쪽(뒤)의 공백 문자들을 삭제한다.
SELECT RTRIM('REFERENCE  ')
  FROM DUAL;

LTRIM

-- 문자열 왼쪽(앞)의 공백 문자들을 삭제한다.
SELECT LTRIM('  REFERENCE')
  FROM DUAL;

INSTR

-- 특정문자의 위치를 반환한다.
SELECT INSTR('REFERENCE', 'C')
  FROM DUAL;

-- 문자열에서 1번째 자리부터 검색하여 2번째 나타나는 'E' 문자가 위치하는 자리를 반환한다.
SELECT INSTR('REFERENCE', 'E', 1, 2)
  FROM DUAL;

-- 찾는 문자열이 없으면 0 반환한다.
SELECT INSTR('REFERENCE', 'K')
  FROM DUAL;

INITCAP

-- 지정된 문자열의 첫 단어을 대문자로 나머지는 소문자로 반환한다.
SELECT INITCAP('referenCE')
  FROM DUAL;

SUBSTR 

-- 시작 위치부터 선택 개수만큼의 문자를 반환한다.
SELECT SUBSTR('REFERENCE', 4, 3)
  FROM DUAL;

-- 두 번째 숫자가 생략되면 마지막 문자까지 반환한다.
SELECT SUBSTR('REFERENCE', 4)
  FROM DUAL;

LENGTH 

-- 문자열의 길이를 반환한다.
SELECT LENGTH('REFERENCE')
  FROM DUAL;

REPLACE

-- 첫 번째 지정한 문자를 두 번째 지정한 문자로 바꿔 반환한다.
SELECT REPLACE('REFERENCE XXX', 'XXX', 'ABC')
  FROM DUAL;

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함