반응형
문자 값 연결하기 : CONCAT
CONCAT 함수는 문자열을 결합하는 함수이다. CONCATENATION의 약자이며 '연쇄,연속'이라는 뜻을 가지고 있다.
SELECT 'Oracle', 'mania'
FROM dual;
결과
각각 떨어져서 문자열이 결과값으로 보여지지만 CONCAT함수를 사용하면 문자열이 결합된다.
SELECT 'Oracle', 'mania', CONCAT('Oracle','mania')
FROM dual;
결과
문자열 추출하기 : SUBSTR
SUBSTR은 기존 문자열에서 일부만을 추출한다. substring의 약자로 말그대로 string을 뺀다는 뜻.
문자열의 시작 위치부터 개수만큼 문자를 얻어온다.
SUBSTR(대상, 시작위치, 추출할 개수)
예1)문자열의 일부만 추출하기
--문자열의 일부만 추출하기
SELECT SUBSTR('ORACLE MANIA',4,5)
FROM dual;
*공백도 1BTYE 취급한다.
결과
4번째 문자인 C부터 공백포함 5개의 글자가 추출되었다.
만일, 뒷자리부터 글자 순서를 세고 싶다면 음수를 사용하면된다.
SELECT SUBSTR('ORACLE MANIA',-4,3)
FROM dual;
결과
뒷자리부터 4번째에 있는 A부터 3개의 글자가 추출되었다.
예2) SUBSTR 함수 이용해서 문자열찾아내기
SUBSTR 함수의 활용방법은 다양하다. 만약 이름이 N으로 끝나는 사람을 찾고싶다면
SELECT *
FROM employee
WHERE SUBSTR(ename, -1, 1) = 'N';
문자열 끝에서 첫번째만을 추출하여 'N'과 비교하면 된다.
문자열 추출하기 : SUBSTRB
SUBSTRB는 한글을 2BYTE 취급하며 문자를 잘라 추출한다.
영문일 경우
SELECT SUBSTR('Oracle mania',4,3), SUBSTRB('Oracle mania',4,3)
FROM dual;
결과
SUBSTR과 SUBSTRB 둘다 영문을 1BYTE 취급하여 똑같은 결과를 나타낸다.
한글일 경우
SELECT SUBSTR('오라클매니아',3,4), SUBSTRB('오라클매니아',3,4)
FROM dual;
결과
SUBSTRB는 한글을 2BYTE 취급하기 때문에
'라클'이라는 결과 값을 나타낸다.
*
한글 결과값은 헷갈릴 수 있는데 표로 보면 이해가 쉬워진다.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
오 | 라 | 클 | 매 | 니 | 아 |
3번째에 있는 글자가 '라'이고 3번째부터 4를 세어보면 '클'까지만 추출하는 것이다.
반응형
'DataBase' 카테고리의 다른 글
[Oracle]다양한 함수4-공백 채우기 LPAD, RPAD 함수/ TRIM함수 (0) | 2020.04.12 |
---|---|
[Oracle]다양한 함수3-문자의 위치 값 반환하기(INSTR함수) (0) | 2020.04.12 |
[Oracle] 데이터 결과값에 콜럼명 별칭정하기 (0) | 2020.04.12 |
[Oracle] 다양한 함수-대소문자변환/문자길이반환 (LENGTH,LENGTHB) (0) | 2020.04.09 |
[Oracle]SELECT문-3:정렬을 위한 ORDER BY절 (0) | 2020.04.08 |
댓글