본문 바로가기
DB/Oracle

[Oracle] 오라클 테이블 조회 4 - 오라클 문자열 함수, upper, lower, initcap, length, lengthb, substr, instr, replace, lpad, rpad

by hongdor 2020. 5. 31.
728x90

- 오라클 11g XE 버전입니다

- 오라클 샘플 계정 HR에 접속한 후 진행했습니다 ( 아래 참고 )

https://hongdori2.tistory.com/4

 

 

0. 함수

 

함수에 입력값을 입력하면 함수 내부의 동작을 통해 결과값이 출력 됩니다

 

이번시간에는 오라클에서 문자열과 관련된 함수를 알아보겠습니다

 

 

1. upper, lower, initcap - 대문자, 소문자 

 

- upper : 문자열을 대문자로 변환 

- lower : 문자열을 소문자로 변환 

- initcap : 첫글자를 대문자, 나머지를 소문자로 변환 

 

- 문자열 찾을 때 대소문자가 섞여있으면 유용합니다

  ex) where upper(name) = upper('Steven') ;

     > lower 혹은 upper 함수를 통해 대소문자 구별없이 스티븐의 이름과 같은 값을 가진 행만 불러올 수 있습니다

 

 

2. length, lengthb - 문자열 길이

 

- length : 문자열 길이를 숫자로 표현 ex) length( '오라클' ) → 3

- lengthb : 문자열바이트 길이를 숫자로 표현 ex) lengthb( '오라클' ) → 9

 

 

 

3. substr, instr

 

- substr( 문자열, 시작지점, 추출문자갯수 )

- instr( 문자열, 찾을 문자열, 시작지점, 몇번째 반복된 문자열을 찾을건지(안적으면 1) ) 

 

> 'oracle' 문자열의 2번째 자리 문자부터 4개

 

> 'abcabcabc' 문자열의 3번째 자리 문자부터 2번째 나오는 bc의 위치 ( 위치는 첫번째부터 셈 )

 

 

4. replace

 

- replace( '문자열', '바꿀 문자', '바뀔 문자' )

 

> 'aabbcc' 문자열에서 b를 d로 바꿈

 

 

5. trim, ltrim, rtrim

 

- trim( 문자열, 문자 양끝 삭제할 문자( 안적으면 띄어쓰기 삭제 ) )

- ltrim( 문자열, 문자 왼쪽 끝 삭제할 문자( 안적으면 띄어쓰기 삭제 ) )

- rtrim( 문자열, 문자 오른쪽 끝 삭제할 문자( 안적으면 띄어쓰기 삭제 ) )

 

예시)

select a || ' abc ' || b from dual;  > ' abc '

select a || trim(' abc ') || b from dual;  > 'abc'

select a || ltrim(' abc ') || b from dual;  > 'abc '

select a || rtrim(' abc ') || b from dual; > ' abc'

select ltrim('#abc#') from dual; > 'abc#'

select rtrim('#abc#') from dual; > '#abc'

 

 

6. lpad, rpad

 

- lpad( 컬럼, 표시할 자릿수, 왼쪽 빈칸을 채울 문자)

- rpad( 컬럼, 표시할 자릿수, 오른쪽 빈칸을 채울 문자)

 

 

728x90

댓글