1. SUBSTR
SUBSTR(컬럼 or 문자열, 시작위치[, 반환할 개수])
- 시작위치부터 [반환할 갯수만큼] 문자열을 잘라서 반환
- 시작위치 = 0 or 1 : 처음
> 0 : 끝 방향으로 지정한 수 만큼
< 0 : 시작 방향으로 지정한 수 만큼
- 반환할 개수 < 0 : NULL 반환
시작 위치는 0이나 1이면 처음부터 끝방향으로 반환할 개수만큼 출력합니다.
시작위치가 0보다 작을경우 끝에서부터 시작방향으로 반환할 개수만큼 출력합니다.
또한 반환할 개수가 0보다 작으면 NULL값을 반환합니다.
SELECT SUBSTR(ENAME, 1, 2) FROM EMP;
SUBSTR은 문자를 자를 때 사용됩니다.
해당 명령에서 보면 ENAME컬럼을 시작이 1이고 2칸을 반환합니다
SELECT SUBSTR(ENAME, -1) FROM EMP;
해당 명령은 ENAME 컬럼을 뒤에서부터 1칸 출력합니다.
만약 -2가 들어가게 되면 뒤에서부터 2칸을 출력하게 됩니다.
2. INSTR
INSTR (컬럼 or 문자열, 찾으려는 문자(열)[, 시작위치 [, 횟수]])
- 찾는 문자(열)이 [시작 위치부터 [횟수만큼]] 나타난 시작 위치 반환
- 시작 위치 > 0 : 시작부터 끝 방향으로
< 0 : 끝부터 시작 뱡향으로
SELECT ENAME, INSTR(ENAME, ‘S’, 1, 1) FROM EMP;
해당 명령은 해당 컬럼에서 S를 찾고 있을시 어디(몇번째칸)에 있는지를 찾아 출력합니다.
위의 결과를 보니 S가 들어있는 문자열에서는 모두 찾았습니다.
SELECT ENAME, INSTR(ENAME, ‘L’, -1, 2) FROM EMP;
해당 명령은 문자 ‘L’을 뒤에서부터 찾습니다.
횟수는 2개를 찾습니다. 2번째 찾은 ‘L’의 위치를 반환합니다.
만약 ALELN이라는 문자가 있다면 해당 문자도 찾을 수 있습니다.
SELECT ENAME, INSTR(ENAME, ‘L’, 1, 1) FROM EMP;
해당 명령은 앞에서부터 ‘L’을 찾습니다. 첫번째로 찾은 ‘L’의 위치를 반환합니다.
'RDB > Oracle' 카테고리의 다른 글
[ORACLE] 날짜함수(ADD_MONTHS, MONTHS_BETWEEN, SYSDATE) (0) | 2021.12.27 |
---|---|
[ORACLE] 자리수 반올림, 올림, 버림(ROUND, TRUNC, CEIL, FLOOR) (0) | 2021.12.26 |
[ORACLE] 문자열제거, 공백제거(RPAD / LPAD, RTRIM / LTRIM, TRIM) (0) | 2021.12.23 |
[ORACLE] DCL - 데이터 제어어 (0) | 2021.12.22 |
[ORACLE] DDL - 데이터 정의어 (0) | 2021.12.21 |