[오라클(Oracle) 기초] 문자 함수(대소문자 변환 / 길이 반환 / SUBSTR / INSTR 함수)
1. 대소문자 변환 함수(INITCAP, LOWER, UPPER)
2. 길이 반환 함수(LENGTH, LENGTHB)
3. 문자조작 함수(CONCAT, SUBSTR, INSTR)
1. 대소문자 변환 함수(INITCAP, LOWER, UPPER)
(1) INITCAP 함수
첫 번째 영문자를 대문자로 출력하는 함수이다. 공백 뒤의 문자열 또한 첫 번째 영문자를 대문자로 변환한다.
1
2
3
4
|
select initcap('apple'), ---- Apple
initcap('welcome to my world'), ---- Welcome To My World
initcap('welcometomyworld'), ---- Welcometomyworld
from dual;
|
(2) LOWER, UPPER 함수
LOWER : 문자열 전체를 소문자로 반환하는 함수이다.
UPPER : 문자열 전체를 대문자로 반환하는 함수이다.
1
2
3
4
5
|
select lower('APPLE'), ---- apple
lower('Apple'), ---- apple
upper('apple'), ---- APPLE
upper('Apple') ---- APPLE
from dual;
|
2. 길이 반환 함수(LENGTH, LENGTHB)
(1) LENGTH 함수
문자열 길이를 반환하는 함수이다. 한글, 영문, 공백, 특수문자 전부 다 1로 인식한다. ('abc'도 3, '가나다'도 3)
1
2
3
|
select length('oracle'), ---- 6
length('오라클') ---- 3
from dual;
|
(2) LENGTHB 함수
문자열의 바이트를 반환하는 함수이다.
1
2
3
|
select lengthb('oracle'), ---- 6
lengthb('오라클') ---- 9
from dual;
|
3. 문자조작 함수(CONCAT, SUBSTR, INSTR)
(1) CONCAT 함수
앞뒤 두 문자열을 결합하는 함수이다.
1
2
|
select concat('my', 'home') ---- myhome
from dual;
|
입력한 문자열이 공백 없이 바로 이어지기 때문에 공백을 넣고 싶다면 필요에 맞춰서 공백을 넣어줘야 한다.
1
2
3
4
5
|
select concat('my', 'home') ---- myhome
from dual;
select concat('my ', 'home') ---- my home
from dual;
|
위와 같이 my 다음 밑줄 부분에 공백을 넣어준 결과 출력도 공백이 포함된 것을 볼 수 있다.
||를 사용하면 더 간단하게 활용할 수 있다.
1
2
|
select name || '교수의 직책은 ' || position || '입니다.'
from professor;
|
cs |
|
김지연교수의 직책은 교수입니다.
한수혁교수의 직책은 부교수입니다.
조민환교수의 직책은 조교수입니다.
이철수교수의 직책은 교수입니다.
이재우교수의 직책은 전임강사입니다.
김일현교수의 직책은 조교수입니다.
박수지교수의 직책은 부교수입니다.
|
cs |
(2) SUBSTR 함수
문자열의 m번째 위치부터 n개의 문자를 추출하는 함수이다. m이 음수일 경우 마지막 문자열부터 시작된다. 예를 들어 m이 -3, n이 2일 경우 문자열의 뒤에서 3번째부터 2개의 문자를 추출한다. 또한 n이 생략될 경우에는 m부터 마지막까지 문자를 모두 추출한다.
1
2
|
select substr(칼럼명 or 문자열, m, n)
from dual;
|
1
2
3
4
5
6
7
|
select substr('apple', 2, 2), ---- pp
substr('welcome to my world', 16, 2), ---- or
substr('welcome to my world', 4, 3), ---- com
substr('welcome to my world', -4, 3), ---- orl
substr('welcome to my world', 4) ---- come to my world
substr('강아지', 2) ---- 아지
from dual;
|
1
2
3
|
select substr('웰컴투동막골', 6, 1), ---- 골
substr('웰컴투동막골', -1, 1) ---- 골
from dual;
|
(3) INSTR 함수
문자열에서 특정 문자의 위치를 반환하는 함수이다.
1
2
|
select instr(칼럼명 or 문자열, 찾을 문자, m, n)
from dual;
|
문자열의 m번째 위치부터 n번째 나타나는 특정 문자 위치를 반환한다. m이 음수일 경우 문자열의 마지막부터 찾기 시작하며 방향도 반대이다.(뒤에서 앞으로)
1
2
3
4
|
select instr('welcome to my world', 'w'), ---- 1
instr('welcome to my world', 'w', 2), ---- 15
instr('welcome to my world', 'o', -3, 2) ---- 10
from dual;
|
1
2
3
|
select instr('www.google.com', '.', 1, 1), ---- 4
instr('www.naver.com', '.',1, 2), ---- 10
from dual;
|
[오라클(Oracle) 기초] 문자 함수(대소문자 변환 / 길이 반환 / SUBSTR / INSTR 함수)
-요약-
1. 대소문자 변환 함수(INITCAP, LOWER, UPPER)
- INICAP : 첫 번째 문자열을 대문자로 반환(공백 다음 문자열의 첫 문자열도 반환)
- LOWER : 문자열 전체를 소문자로 반환
- UPPER : 문자열 전체를 대문자로 반환
2. 길이 반환 함수(LENGTH, LENGTHB)
- LENGTH : 문자열의 길이 반환
- LENGTHB : 문자열의 바이트 반환
3. 문자조작 함수(CONCAT, SUBSTR, INSTR)
- CONCAT : 앞뒤 문자열을 결합 (= ||)
- SUBSTR : 문자열의 m번째 위치부터 n개의 문자를 추출 : SUBSTR(칼럼명 or 문자열, m, n)
- INSTR : 문자열의 m번째 위치부터 n번째 나타나는 특정 문자의 위치를 반환 : INSTR(칼럼명 or 문자열, 찾을 문자, m, n)
댓글