● 문자열 추출 함수 SUBSTR(문자열, 시작위치, 길이)
SELECT SUBSTR('HELLO', 1, 3) FROM DUAL;
SELECT SUBSTR('HELLO', 3) FROM DUAL;
SELECT SUBSTRB('HELLO', 3) FROM DUAL;
SELECT * FROM MEMBERS WHERE PHONE IS NULL AND SUBSTR(BIRTHDAY, 6, 2) IN ('07', '08', '09');
● 문자열 덧셈 함수
SELECT CONCAT('홍', '길동') FROM DUAL;
-문자열 연산
SELECT 3 || '4' FROM DUAL;
● 문자열 트림 함수 (공백 제거)
SELECT LTRIM(' HELLO ') FROM DUAL;
SELECT RTRIM(' HELLO ') FROM DUAL;
SELECT TRIM(' HELLO ') FROM DUAL;
● 문자열 대소문자 변경 (대소문자 관계없이 검색 시)
SELECT LOWER('HeLLo') FROM DUAL;
SELECT UPPER('HeLLo') FROM DUAL;
SELECT * FROM MEMBERS WHERE UPPER(USERID) = UPPER('admin')
● 문자열 대치함수 REPLACE(문자열, 찾는 문자열, 대치할 문자열) / TRANSLATE()
SELECT REPLACE('WHERE WE ARE', 'WE', 'YOU') FROM DUAL;
SELECT NAME, REPLACE(ADDRESS, ' ', '') FROM STUDENTS;
SELECT TRANSLATE('WHERE WE ARE', 'WE', 'YOU') FROM DUAL;
● 문자열 패딩 함수 (패딩 영역을 지정한 문자로 채움)
SELECT LPAD('HELLO', 10, '_') FROM DUAL;
SELECT RPAD('HELLO', 10, '_') FROM DUAL;
● 첫 글자를 대문자로 바꾸는 함수 INITCAP(문자열)
SELECT INITCAP('the most important thing is ...') FROM DUAL;
● 문자열 검색 함수 INSTR(문자열, 검색문자열, 위치, 찾을 수)
SELECT INSTR('ALL WE NEED TO IS JUST TO ...', 'TO') FROM DUAL;
SELECT INSTR('ALL WE NEED TO IS JUST TO ...', 'TO', 1, 2) FROM DUAL;
- 전화번호에서 두번째 대시(-) 문자가 존재하는 위치를 출력
SELECT INSTR(PHONE, '-', 1, 2) FROM MEMBERS;
- 전화번호에서 첫 번째 대시(-) 문자와 두 번째 대시(-) 문자 사의의 간격
SELECT INSTR(PHONE, '-', 1, 2) - INSTR(PHONE, '-', 1, 1) -1 FROM MEMBERS;
- 전화번호에서 중간번호 추출
SELECT SUBSTR(PHONE, 5, INSTR(PHONE, '-', 1, 2) - INSTR(PHONE, '-', 1, 1) -1 FROM MEMBERS;
● 문자열 길이를 얻는 함수
SELECT LENGTH('WHERE WE ARE') FROM DUAL;
-전화번호에 문자 '-' 없앤 전화번호의 길이 출력
SELECT LENGTH(REPLACE(PHONE, '-', '')) FROM MEMBERS;
● 코드 값을 반환하는 함수
SELECT ASC||('A') FROM DUAL;
● 코드 값으로 문자를 반환하는 함수
SELECT CHR(65) FROM DUAL;