SQL 기본 문자처리 함수

오윤혜·2021년 2월 2일
post-thumbnail

LOWER함수

실행문

--소문자로 변환
SELECT LOWER(ENAME)
FROM EMP;

결과출력

UPPER함수

실행문

--대문자로 변환
SELECT UPPER(ENAME)
FROM EMP;

결과출력

INITCAP함수

실행문

--이름이 전부 대문자인 이름을 첫글자만 대문자로 변환해주고 나머진 소문자로 반환
SELECT INITCAP(UPPER(ENAME)) as INITCAP
,EMPNO
FROM EMP
where EMPNO = 207;

결과출력

CONCAT함수

실행문

--문자열 붙이기
SELECT CONCAT('haha','하하') AS CONCAT
FROM DUAL;

결과출력

SUBSTR함수

실행문


--문자열 자르기 (문자열,시작점부터,몇개)
SELECT SUBSTR(CONCAT('haha','하하'),2,2) AS SUBSTR
FROM DUAL;

결과출력

SUBSTRB함수

실행문


--문자열 자르기 (문자열,시작점부터,몇개)
--문자단위로 자를땐 SUBSTR 바이트단위로 자를땐 SUBSTRB
SELECT SUBSTRB(CONCAT('haha','하하'),2,2) AS SUBSTRB
FROM DUAL;

결과출력

LENGTH함수

실행문

SELECT LENGTH('안녕하세요.이 문자열의 길이는 몇일까용') AS LENGTH
FROM DUAL;

결과출력

LENGTHB함수

실행문

SELECT LENGTHB('안녕하세요.이 문자열의 바이트단위 길이는 몇일까용') AS LENGTHB
FROM DUAL;

결과출력

INSTR함수

실행문

--첫번째는 문자열의 '빵'이라는 단어의 첫번째 위치를 반환
--두번째는 문자열의 9번째 위치부터 '빵'이라는 단어를 찾고 그찾은 단어의 위치를 반환
--세번째는 문자열의 9번째 위치로부터 '빵'이라는 단어의 두번째 순서의 위치를 찾고 그찾은 단어의 위치를 반환
SELECT INSTR('오늘 점심은 빵이였어 내일 점심도 빵 먹을꺼얌 너도 빵 먹을래?','빵') AS INSTR,
INSTR('오늘 점심은 빵이였어 내일 점심도 빵 먹을꺼얌 너도 빵 먹을래?','빵',9) AS INSTR1,
INSTR('오늘 점심은 빵이였어 내일 점심도 빵 먹을꺼얌 너도 빵 먹을래?','빵',9,2) AS INSTR2
FROM DUAL;

결과출력

INSTRB함수

실행문

--INSTR와의 차이점은 문자열이 아닌 바이트 위치 값 반환
SELECT INSTRB('오늘 점심은 빵이였어 내일 점심도 빵 먹을꺼얌 너도 빵 먹을래?','빵') AS INSTRB,
INSTRB('오늘 점심은 빵이였어 내일 점심도 빵 먹을꺼얌 너도 빵 먹을래?','빵',9) AS INSTRB1,
INSTRB('오늘 점심은 빵이였어 내일 점심도 빵 먹을꺼얌 너도 빵 먹을래?','빵',9,2) AS INSTRB2
FROM DUAL;

결과출력

LPAD함수

실행문

--최대문자열을 기준으로 자릿수가 남으면 정해준 값으로 채워준다.왼쪽부터채워줌
SELECT LPAD('hi',10,'*') as LPAD
FROM DUAL;

결과출력

RPAD함수

실행문

--최대문자열을 기준으로 자릿수가 남으면 정해준 값으로 채워준다.오른쪽부터채워줌
SELECT RPAD('hi',10,'*') as RPAD
FROM DUAL;

결과출력

TRIM함수

실행문

--문자열의 양끝의 공백제거
SELECT TRIM('        히히 하하 호호         ') AS TRIM
FROM DUAL;

결과출력

CHR함수

실행문

select CHR(38) AS CHR
from dual;

결과출력

ASC||함수

실행문

select ASCII('&') AS ASCII
from dual;

결과출력

REPLACE함수

실행문

SELECT REPLACE('안녕 안녕하세요 안경','안녕','그냥') AS REPALACE
FROM DUAL;

결과출력

translate함수

실행문

SELECT translate('안녕 안녕하세요녕 안경','안녕','그냥')
FROM DUAL;

결과출력

NVL2함수

실행문

--NVL2은 값이 널이 아니면 첫번째 문자를 반환 널이면 두번째 문자를 반환
SELECT COMM,
NVL2(COMM,1,0)
FROM EMP;

결과출력

NULLIF함수

실행문

-- 값이 같으면 널로 반환하고 아니면 첫번째 문자를 반환
SELECT NULLIF(1,2)
,NULLIF(1,1)
FROM DUAL;

결과출력

LEAST함수

실행문

--LEAST 가장작은 값을 반환 NULL이 있으면 널을 반환
SELECT LEAST(1,2,3)
FROM DUAL;

결과출력

profile
안녕하세요

0개의 댓글