1. SUBSTR(문자, 시작, 끝)
SELECT SUBSTR ('SMITH',1,3) name -- 'SMITH'에서 1번째부터 3번째까지 문자추출
FROM DUAL;
2. LENGTH(문자)
문자의 byte 길이를 반환, 한글같은 문자는 정확한 길이를 가져오기 어려움.
SELECT ename, LENGTH(ename)
FROM emp;
- LENGTHB : 바이트의 길이를 반환 (한글은 한글자에 3바이트)
SELECT LENGTHB('가나다라마')
FROM DUAL;
3. CHAR_LENGTH(문자) 또는 CHARACTER_LENGTH(문자)
LENGTH처럼 byte가 아니라 문자가 몇개가 있는지 그대로 반환해줌
SELECT CHAR_LENGTH('HELLO')
SELECT CHARACTER_LENGTH('HELLO')
[out] 5
SELECT CHAR_LENGTH('안녕')
SELECT CHARACTER_LENGTH('안녕')
[out] 2
4. INSTR : 특정 철자의 위치 출력
SELECT INSTR('SMITH','M')
FROM DUAL;
- 이메일에서 naver.com만 추출하기
-- 이메일의 '@'뒤부터 시작해서 가져오기
SELECT SUBSTR('abcdefgh@naver.com', INSTR('abcdefgh@naver.com','@')+1) EMAIL
FROM DUAL;
- 이메일에서 naver 만 추출하기
SELECT RTRIM(SUBSTR('abcdefgh@naver.com', INSTR('abcdefgh@naver.com','@')+1), '.com') EMAIL
FROM DUAL;
'🛠️Skill > SQL' 카테고리의 다른 글
[oracle] 오라클 단축키 / 비밀번호 변경 (0) | 2022.12.12 |
---|---|
[SQL문법] 날짜, 시간 더하기 (DATE_ADD, DATE_SUB) (0) | 2022.12.09 |
[PL/SQL] Cursor/Loop/For Loop문 - 부서 번호 물어보기 (0) | 2022.11.29 |
[SQL문법] DATEDIFF, TIMESTAMPDIFF (날짜 차이)-MySQL (0) | 2022.11.24 |
[SQL문법] REPLACE 특정 문자 변경 (0) | 2022.11.17 |
댓글