Programming/데이터베이스

[오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)

cbw1030 2019. 10. 13. 10:58
반응형

https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다.

 

[ LPAD, RPAD ]

- 문자열 패딩 함수이다.

- 지정된 길이를 채워 문자열을 출력해야할 때, 길이가 맞지 않는 문자열은 다른 문자로 채워서 출력한다.

- 한글은 바이트 단위이므로 영어를 사용할 때보다 길이를 곱하기 2를 해줘야 한다.

 

* SELECT LPAD('HELLO', 5) FROM DUAL;

  • 'HELLO'가 5글자이므로 'HELLO'만 출력

* SELECT LPAD('HELLO', 5, '0') FROM DUAL;

  • 'HELLO'가 5글자이므로 'HELLO'만 출력

* SELECT LPAD('HELLO', 10, '0') FROM DUAL;

  • 'HELLO'가 5글자이므로 '00000HELLO' 출력

* SELECT RPAD('HELLO', 10, '0') FROM DUAL;

  • 'HELLO'가 5글자이므로 'HELLO00000' 출력

 

[ INITCAP ]

- 첫 글자를 대문자로 바꾸는 함수이다.

- 그렇게 효용성이 크지는 않다.

 

* SELECT INITCAP('the most important thing is ...') FROM DUAL;

  • 'The Most Important Thing Is ...' 출력

 

[ INSTR ] 

- 문자열 검색 함수이다.

- 문자열을 검색해 해당하는 위치를 숫자로 반환한다.

- INSTR(문자열, 검색문자열, 위치, 찾을 수)

 

* SELECT INSTR('ALL WE NEED TO IS JUST TO ...', 'TO') FROM DUAL

  • 문자열에서 'TO'가 중복되어 있지만, 아무런 조건없이 'TO'를 찾는다고 처음 발견되는 'TO'의 위치를 반환한다.
  • 13 반환

* SELECT INSTR('ALL WE NEED TO IS JUST TO ...', 'TO', 15) FROM DUAL

  • 15번째 위치부터 'TO'를 찾으라는 의미이다.
  • 24 반환

* SELECT INSTR('ALL WE NEED TO IS JUST TO ...', 'TO', 1, 2) FROM DUAL

  • 1번째 위치부터 'TO'를 찾는데 두 번째 'TO'를 찾으라는 의미이다.
  • 24 반환

 

[ LENGTH ]

- 문자열의 길이를 얻는 함수이다.

 

* SELECT LENGTH('WHERE WE ARE') FROM DUAL;

 

EX1) 회원의 전화번호 컬럼에 포함된 문자 '-'를 없앤 전화번호의 길이를 출력하시오.

SELECT LENGTH(REPLACE(PHONE, '-', '')) FROM MEMBERS;

 

반응형