문자 조작 함수
CONCAT(column1 | expression1, column2 | expression2)

문자붙이기

SELECT concat(job,sal)
FROM emp;

CLERK800
SALESMAN1600
SALESMAN1250

SUBSTR(column | expression, m[,n])
위치 m에서 n개 지정된 문자를 반환
m이 음수면 문자 값의 끝부터 세며, n을 생략하면 끝까지 반환 n=갯수
SELECT SUBSTR(job, 1,6)
FROM emp;

SUBSTR(JOB,1 ,6)
CLERK
SALESM
SALESM
MANAGE

LENGTH(column | expressio)
문자수 반환 ,문자열의 길이
SELECT ename, length(ename)
FROM emp;

 

INSTR(column | expression, 'string', [,m],[n])
지정된 문자열의 위치를 숫자로 반환
SELECT INSTR('Hello,World', ',W')
FROM dual;

---->6

LPAD(column | expression, n, 'string') **800
전체 폭이 n이 되도록 문자 값을 오른쪽으로 정렬하고 빈 곳을 지정한 string으로 채운다.

RPAD(column | expression, n, 'string)800**
전체 폭이 n이 되도록 문자 값을 왼쪽으로 정렬하고 빈 곳을 지정한 string으로 채운다.

SELECT LPAD(sal, 5, '*'), RPAD(sal, 6, '*')
FROM emp;

 

SELECT ename, CONCAT(ename, job),
LENGTH(ename), INSTR(ename, 'A'),
LPAD(sal, 5, '*'), RPAD(sal, 6, '*')
FROM emp
WHERE SUBSTR(job, 1, 5) = UPPER('sales');

ENAME CONCAT(ENAME,JOB) LENGTH(ENAME) INSTR(ENAME,'A') LPAD(SAL,5 RPAD(SAL,6,'
ALLEN ALLENSALESMAN 5 1 *1600 1600**
WARD WARDSALESMAN 4 2 *1250 1250**
MARTIN MARTINSALESMAN 6 2 *1250 1250**
TURNER TURNERSALESMAN 6 0 *1500 1500**

CHR
숫자에 맞는 ASCII문자 출력
SELECT CHR(65)
FROM dual;

 

ASCII
해당 ASCII로 변환
SELECT ASCII('a')
FROM dual;

 

LTRIM
정의된 문장에서 왼쪽에서 지정된 단어가 나타나면 제거
SELECT LTRIM('xyxXxyLAST WORD', 'xy')
FROM dual;

---->XxyLAST WORD

RTRIM
정의된 문장에서 오른쪽에서 지정된 단어가 나타나면 제거
SELECT RTRIM('TURNERyxXxy', 'xy')
FROM dual;

 

REPLACE
해당문자가 발견되면 지정된 문자로 변환
SELECT REPLACE('JACK and JUE', 'J', 'BL')
FROM dual;

REPLACE('JACKA
BLACK and BLUE

GREATEST
주어진 단어 중 가장 높은 값
SELECT GREATEST('HARRY', 'HARIOT', 'HALORD')
FROM dual;
처음에는 H부터 비교 -> A비교 ->

LEAST
주어진 단어 중 가장 낮은 값
SELECT LEAST('HARRY', 'HARIOT', 'HALORD')
FROM dual;

 

NVL
칼럼이 NULL이면 지정한 값으로 대치
SELECT NVL(sal, 0), NVL(ename, '*'),
NVL(hiredate, SYSDATE)
FROM emp;