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;