■ 문자 처리 함수
함 수 |
설 명 |
UPPER |
-. 대문자로 변환시킨다. |
LOWER | -. 소문자로 변환시킨다. |
INITCAP | -. 이니셜만 대문자로 변환시킨다. |
LENGTH | -. 문자열의 길이를 알려준다. |
INSTR | -. 특정문자가 출현하는 위치를 알려준다. |
SUBSTR | -. 문자의 일부분을 추출한다. |
LPAD | -. 오른쪽 정렬 후 왼쪽에 생긴 빈 공백에 특정 문자를 채운다. |
RPAD | -. 왼쪽 정렬 후 오른쪽에 생긴 빈 공백에 특정 문자를 채운다. |
LTRIM | -. 왼쪽에서 특정 문자를 삭제한다. |
RTRIM | -. 오른쪽에서 특정 문자를 삭제한다. |
01) 대문자로 변환하는 UPPER 함수
① UPPER 함수는 문자열을 모두 대문자로 변경한다.
SQL> SELECT UPPER('Welcome to oracle 10g') |
② 특정칼럼을 모두 대문자로 출력한다.
SQL> SELECT UPPER(ename), UPPER(job) FROM emp; |
02) 소문자로 변환하는 LOWER 함수
① LOWER 함수는 문자열을 모두 소문자로 변경한다.
SQL> SELECT LOWER('Welcome to oracle 10g') |
② 특정칼럼을 모두 소문자로 출력한다.
SQL> SELECT LOWER(ename), LOWER(job) FROM emp; |
03) 이니셜만 대문자로 변환하는 INITCAP 함수
① INITCAP 함수는 이니셜만 대문자로 변경합니다.
SQL> SELECT INITCAP('Welcome to oracle 10g') |
② 사원명의 맨 처음 문자만 대문자로 출력하는 예제
SQL> SELECT INITCAP(ename), INITCAP(job) |
04) 문자열의 길이를 알려주는 LENGTH 함수
① LENGTH 함수는 컬럼에 저장된 데이터 값이 몇 개의 문자로 구성되었는지 길이를 알려주는 함수
SQL> SELECT LENGTH('Welcome to oracle 10g') |
② 사원의 이름이 몇 자인지 출력하는 예제
SQL> SELECT ename, LENGTH(ename) |
05) 특정문자가 출현하는 위치를 알려주는 INSTR 함수
-. INSTR 함수는 특정 컬럼에서 특정 문자가 나타나는 위치를 알려준다.
① 위치값을 선정하지 않고 문자 'o'를 찾는 경우
SQL> SELECT INSTR('Welcome to oracle 10g', 'o', 3, 2) FROM dual; |
② 검색 시작 위치와 몇 번째 나오는 위치를 지정하고 문자 'o'를 찾는 경우
SQL> SELECT INSTR('Welcome to oracle 10g', 'o', 3, 2) |
③ 이름에 'A'자가 몇 번째에 위치하는지 출력하는 예제
SQL> SELECT ename, INSTR(ename, 'A') FROM emp; |
06) 문자의 일부분을 추출하는 SUBSTR 함수
-. 문자열 내에서 문자열 일부만 추출해 내는 함수이다.
① 문자 'Welcome to oracle 10g'에서 4부터 시작해서 문자 3개를 추출한다.
SQL> SELECT SUBSTR('Welcome to oracle 10g', 4, 3) FROM dual; |
② 사원이 몇 년도에 입사했는지 알기 위해서 입사 일(Hiredate)에서 연도만을 추출하는 예제
SQL> SELECT ename, hiredate, SUBSTR(hiredate 1, 2) FROM emp; |
③ 두 번째 인자 값을 음수로 지정한 경우
SQL> SELECT ename, SUBSTR(ename, -3, 2) FROM emp; |
07) 오른쪽 정렬 후 특정 문자를 왼쪽에 채우면서 삽입하는 LPAD 함수
① LPAD 함수는 문자열이 일정한 크기가 되도록 왼쪽 빈공간에 지정한 문자를 삽입하는 함수이다.
(지정한 문자가 없을 경우에는 공백으로 채워진다.)
SQL> SELECT LPAD('Oracle 10g', 20, '#') |
08) 왼쪽 정렬 후 특정 문자를 왼쪽에 채우면서 삽입하는 RPAD 함수
① RPAD 함수는 문자열이 일정한 크기가 되도록 오른쪽 빈공간에 지정한 문자를 삽입하는 함수이다.
(지정한 문자가 없을 경우에는 공백으로 채워진다.)
SQL> SELECT RPAD('Oracle 10g', 20, '#') FROM dual; |
09) 오른쪽에서 특정 문자를 삭제하는 RTRIM 함수
① RTRIM 함수는 문자열의 오른쪽(뒤)의 문자들을 삭제한다.
SQL> SELECT RTRIM('aaaOracle 10gaaa', 'a') |
② 인자값을 주지 않은경우 RTRIM 함수는 문자열의 오른쪽(뒤)의 모든 공백을 삭제한다.
SQL> SELECT RTRIM(' Oracle 10g ') FROM dual; |
10) 왼쪽에서 특정 문자를 삭제하는 LTRIM 함수
① LTRIM 함수는 문자열의 왼쪽(앞)의 문자들을 삭제한다.
SQL> SELECT LTRIM('aaaOracle 10gaaa', 'a') |
② 인자값을 주지 않은경우 LTRIM 함수는 문자열의 왼쪽(앞)의 모든 공백을 삭제한다.
SQL> SELECT LTRIM(' Oracle 10g ') |
11) 앞뒤에서 특정 문자를 삭제하는 TRIM 함수
-. TRIM 함수는 문자열의 앞뒤에서 특정 문자를 삭제하는 문법이다.
(RTRIM과 LTRIM과는 다르므로 주의한다.)
① 직원들 이름에서 문자열 앞뒤의 'A'를 삭제하는 예제
(RTRIM과 LTRIM과는 다르게 from이라는 키워드가 사용된다.)
SQL> SELECT ename, TRIM('A' from ename) FROM emp; |
※ 문자열 뒤에 'A'를 가지고 있는 값이 없음으로 본 예제는 뒤에서 'A'가 삭제 되었음을 확인 할 수 없지만 실제로는 삭제된다.
'Oracle > Oracle Programming' 카테고리의 다른 글
[Oracle] 전일, 전주, 전월, 전분기, 전반기, 전년도 구하기 (1) | 2013.08.07 |
---|---|
[Oracle] ORA-01950 : 테이블스페이스 'USERS'에 대한 권한이 없습니다. (0) | 2013.05.08 |
[Oracle] 숫자함수 (0) | 2013.02.11 |
[Oracle] DUAL 테이블 (0) | 2013.02.11 |
[Oracle] PL/SQL 변수 (0) | 2013.02.06 |