문자 내장함수
CHR ( 정수 ) | 정수 아스키코드를 문자로 반환 |
CONCAT ('문자열1', '문자열2') | 두 문자열 연결 |
INITCAP ('문자열') | 단어의 첫 글자를 대문자로 변환 |
LOWER ('문자열') | 문자열을 모두 소문자로 변환 |
UPPER ('문자열') | 문자열을 모두 대문자로 변환 |
LPAD ('문자열', 정수형, '채울글자') | 정수만큼 자리수에 문자열을 채우는데 왼쪽에 채울글자를 채워라 |
RPAD ('문자열', 정수형, '채울글자') | 정수만큼 자리수에 문자열을 채우는데 오른쪽에 채울글자를 채워라 |
REPLACE('문자열1', '문자열2', '문자열3') | '문자열1'에서 '문자열2'의 글자를 '문자열3'으로 바꿔라 |
TRIM (c FROM s) | 양쪽 공백을 삭제 |
LTRIM (문자열1, 문자열2) | 왼쪽 공백 제거 |
RTRIM (문자열1, 문자열2) | 오른쪽 공백 제거 |
SUBSTR(문자열,시작위치,길이) | 문자열의 시작위치에서 길이만큼 잘라서 반환 |
LENGTH (문자) | 문자열의 길이를 반환 |
ASCII (값) | 문자를 정수형으로 반환 |
instr ('문자열', '찾을 문자') instr ('문자열1', '문자열2', 숫자1) |
- 문자열에 특정 문자열의 위치를 반환 - 문자열1로부터 숫자1인덱스 이후에 나오는 문자열 2의 위치 |
CHR
- 정수에 해당하는 아스키 코드 반환 ( 65 -> 'A' )

CONCAT
- 두 문자열을 합하여 반환

INITCAP
- 단어의 첫글자를 대문자로 반환

lower
- 소문자로 변환

UPPER
- 대문자로 변환

TRIM
- 좌우 공백 제거 (공백 좌우 3개씩 6개)ㅇ
- length로 공백 제거 되었는지 표현하였음

LTRIM
- 왼쪽 공백 제거 (공백 좌우 3개씩 6개)
- length로 공백 제거 되었는지 표현하였음

RTRIM
- 오른쪽 공백 제거 (공백 좌우 3개씩 6개)
- length로 공백 제거 되었는지 표현하였음

length
- 문자열의 길이를 반환하는 함수
- length로 공백 제거 되었는지 표현하였음

ASCII
- 문자의 정수형 값 반환

INSTR
- 문자열에서 몇번째에 있는 문자인지 반환
예시1

예시2
이메일에서 우선 '@골뱅이'의 위치를 찾고 그 이후에 나오는 'dot(점 . )' 의 인덱스를 반환

SUBSTR
- 문자열을 잘라내어 반환
예시1
이름의 첫글자를 반환

예시2 - 여성 서교동에사는 여성직원들의 정보를 출력
INSTR 함수로 주민번호 가운데 있는 '대시(-)'의 인덱스를 반환받고
SUBSTR 함수로 '대시(-)'의 인덱스부터 1글자 (뒷자리 첫번째)가 2 또는 4라면 여자
SELECT e.jumin, e.ename 사원이름 , m.ename 관리자이름,
e.email 사원이메일, m.email 관리자이메일, e.dno,
d.dname, (e.salary +e.COMM)*12
FROM emp m, emp e, dept d
WHERE (SUBSTR(e.jumin, INSTR(e.jumin,'-')+1, 1) in ('2','4')) AND d.DLOC LIKE '%서교동%'
AND m.eno = e.mgr AND e.dno = d.dno ORDER by e.dno, e.ename;
REPLACE
- '문자열1'에서 '문자열2'의 글자를 '문자열3'으로 바꿔라

LPAD
- 문자열을 자릿수 만큼 공간을 잡아 오른쪽에 정렬하여 출력하고 나머지 왼쪽 빈칸은 채울글자로 채웁니다.
RPAD
- 문자열을 자릿수 만큼 공간을 잡아 왼쪽 정렬하여 출력하고 나머지 오른쪽 빈칸은 채울글자로 채웁니다.
예시1 - 이름의 첫 글자를 출력하여 나머지는 * 로 마스킹
SELECT RPAD(SUBSTR(ename,1,1),LENGTH(ename),'*') FROM emp;

예시2 -아래와 같이 출력하는데 주민번호는 마스킹 처리하라
select e.eno, e.ename, SUBSTR(e.email, 1, INSTR(e.email, '@') -1) id,
rpad(SUBSTR(e.jumin, 1, 8) , 14, '*') jumin,
LPAD(e.salary+e.comm , 10, 0 ) salary
FROM emp e, emp m
WHERE e.mgr = m.eno AND
e.ename ='김한희'
ORDER BY e.salary + e.comm DESC, e.ename;

반응형
'개발 > 데이터베이스' 카테고리의 다른 글
(데이터베이스) VIEW(뷰) (0) | 2022.04.29 |
---|---|
(데이터베이스) 관련 함수 (0) | 2022.04.28 |
(데이터베이스) 숫자 내장함수 (0) | 2022.04.26 |
오라클 쿼리 실행 시간 확인 방법 (0) | 2022.04.25 |
(데이터베이스) 서브쿼리, 상관서브쿼리 (0) | 2022.04.22 |
댓글