환경
윈도우10 64비트
오라클 18c 익스프레스
스캇 예제
예제를 확인하시려면
https://ondolroom.tistory.com/163
DUAL은 가상의 테이블이다
테스트 용도로 사용
SELECT 'CRIS'
FROM DUAL;

오라클은 인덱스를 1부터 시작한다
첫번째 인자는 문자열, 두번째 인자는 시작 번지, 세번째 인자는 개수
SELECT SUBSTR('CRIS', 0, 1)
FROM DUAL;
0을 넣어도 작동이 되긴 한다
SELECT SUBSTR('CRIS', 1, 1)
FROM DUAL;

SUBSTR()함수를 사용하면 데이터를 잘라서 검색도 가능
SELECT *
FROM 테이블
WHERE SUBSTR(열이름, 문자열 시작위치, 문자 개수) = '문자 또는 문자열';
SELECT *
FROM emp
WHERE SUBSTR(ename, 1, 1) = 'M';

-- student
SELECT *
FROM student
WHERE SUBSTR(jumin,1,2) = 76;

-- student에서 부산에 사는 사람을 찾으시오.
SELECT *
FROM student
WHERE SUBSTR(tel, 1, 3) = '051';

-- student 2월에 태어난 사람을 찾으시오.
SELECT *
FROM student
WHERE SUBSTR(birthday, 4, 2) = '02';

SELECT instr(문자열,찾을 문자 또는 문자열, 시작 문자열 위치, n번째 검색결과)
FROM dual;
1번위치부터 검색하여 2번째 - 가 있는 곳을 검색
SELECT instr('02-5555-8989','-', 1, 2)
FROM dual;

중간번호를 찾아내기
SELECT substr(찾을 데이터, 시작위치, 개수) AS 열의 별칭
from 테이블;
SELECT substr(tel, instr(tel, ')') + 1, instr(tel, '-') - instr(tel, ')') - 1) AS 중간번호, tel
from student;

SELECT name, tel, SUBSTR(tel, 1, INSTR(tel,')') - 1) AS "AREA CODE"
FROM student
WHERE deptno1 = 201;

-- REPLACE 함수 사용해보기
SELECT REPLACE(문자열, 바꾸고 싶은 문자 또는 문자열, 넣을 문자)
FROM 테이블
WHERE 열이름 = 데이터;
-- REPLACE 함수 사용해보기
SELECT REPLACE('ABC', 'A', 'F')
from dual;

SELECT ename, REPLACE(ename, SUBSTR(ename, 2, 2), '--')
FROM emp
WHERE deptno = 20;

SELECT name, jumin, REPLACE(jumin, SUBSTR(jumin, 7, 7), '-/-/-/-') "REPLACE"
FROM student
WHERE deptno1 = 101;

SELECT name, tel, REPLACE(tel, SUBSTR(tel, 5, 3), '***') "REPLACE"
FROM student
WHERE deptno1 = 102;

SELECT name, tel, REPLACE(tel, SUBSTR(tel, 9), '****') "REPLACE"
FROM student
WHERE deptno1 = 101;

SELECT REPLACE(jumin, SUBSTR(jumin, 8, 6), '******')
FROM student;

SELECT LPAD(SUBSTR(tel, instr(tel,')')), instr(tel,'-') + 4, '*')
FROM student;
SELECT REPLACE(tel, SUBSTR(tel, 1, instr(tel,')')-1), SUBSTR('***', 1, INSTR(TEL, ')') - 1))
FROM student;

'Database > OracleSQL' 카테고리의 다른 글
오라클 날짜 포맷 변경하기 ALTER SESSION SET NLS_DATE_FORMAT (0) | 2020.03.25 |
---|---|
오라클 SELECT, FROM, WHERE, ORDER BY 실행순서 (0) | 2020.03.25 |
오라클 SELECT, FROM, WHERE, and, or, in, || (2) | 2020.03.19 |
오라클 행번호 출력 (0) | 2020.03.19 |
오라클SQL 예제 scott 연습 (0) | 2020.03.18 |