//사원 이름에 SCOTT 단어가 포함된 데이터 찾기
SELECT *
FROM EMP
WHERE UPPER(ENAME) LIKE UPPER('%scott%');
SELECT JOB, SUBSTR(JOB, 1, 2), SUBSTR(JOB, 3, 2), SUBSTR(JOB, 5)
FROM EMP;
//SUBSTR 함수 안에 다른 함수(LENGTH) 함께 사용하기
SELECT JOB,
SUBSTR(JOB, -LENGTH(JOB)), //문자열의 뒤에서부터 앞까지 반복
SUBSTR(JOB, -LENGTH(JOB), 2), //뒤에서부터 JOB의 LENGTH까지의 길이만큼 간 후 거기서 시작하여 2개 추출
SUBSTR(JOB, -3) //뒤에서부터 3개 추출
FROM EMP;
INSTR([대상 문자열 데이터(필수)],
[위치를 찾으려는 부분 문자(필수)],
[위치 찾기를 시작할 대상 문자열 데이터 위치(선택, default 1)],
[시작 위치에서 찾으려는 문자가 몇 번째인지 지정(선택, default 1)])
SELECT INSTR('HELLO, ORACLE!', 'L') AS INSTR_1,
INSTR('HELLO, ORACLE!', 'L', 5) AS INSTR_2,
INSTR('HELLO, ORACLE!', 'L', 2, 2) AS INSTR_3
FROM DUAL;
REPLACE([문자열 데이터 또는 열 이름(필수)], [찾는 문자(필수)], [대체할 문자(선택)])
SELECT '010-1234-5678' AS REPLACE_BEFORE,
REPLACE('010-1234-5678', '-', ' ') AS REPLACE_1,
REPLACE('010-1234-5678', '-') AS REPLACE_2
FROM DUAL;
LPAD([문자열 데이터 또는 열이름(필수)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)])
RPAD([문자열 데이터 또는 열이름(필수)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)])
SELECT CONCAT(EMPNO, ENAME),
CONCAT(EMPNO, CONCAT(' : ', ENAME))
//EMPNO || ' : ' || ENAME 이라고 작성해도 가능
FROM EMP
WHERE ENAME = 'SCOTT';
TO_CHAR([날짜데이터(필수)], '[출력되길 원하는 문자 형태(필수)]')
|형식|설명|
|HH24|24시간으로 표현한 시간|
|HH,HH12|12시간으로 표현한 시간|
|MI|분|
|SS|초|
|AM, PM, A.M., P.M.|오전, 오후 표시|
SELECT SYSDATE,
TO_CHAR(SYSDATE, 'HH24:MI:SS') AS HH24MISS,
TO_CHAR(SYSDATE, 'HH12:MI:SS AM') AS HHMISS_AM,
TO_CHAR(SYSDATE, 'HH:MI:SS P.M.') AS HHMISS_PM
FROM DUAL;
TO_DATE('[문자열 데이터(필수)]', '[인식될 날짜형태(필수)]')
SELECT TO_DATE('2018-07-14', 'YYYY-MM-DD') AS TODATE1,
TO_DATE('20180714', 'YYYY-MM-DD') AS TODATE2
FROM DUAL;
NVL([NULL인지 여부를 검사할 데이터 또는 열(필수))], 앞의 데이터가 NULL일 경우 반환할 데이터)
SELECT EMPNO, ENAME, SAL, COMM, SAL+COMM,
NVL(COMM, 0),
SAL+NVL(COMM, 0)
FROM EMP;
NVL2([NULL인지 여부를 검사할 데이터 또는 열(필수)],
[앞 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식(필수)],
[앞 데이터가 NULL일 경우 반환할 데이터 또는 계산식(필수)])
SELECT EMPNO, ENAME, COMM,
NVL2(COMM, '0', 'X'),
NVL2(COMM, SAL*12+COMM, SAL*12) AS ANNSAL
FROM EMP;
![](https://velog.velcdn.com/images/y_bin/post/2478275a-6b09-43b1-a32b-cc45aa5af73f/image.png)
### DECODE 함수
- 기준이 되는 데이터를 먼저 지정한 후 해당 데이터 값에 따라 다른 결과 값을 내보내는 함수
- 기준이 되는 데이터를 먼저 지정한 후 해당 데이터 값에 따라 다른 결과 값을 내보냄
> DECODE([검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과],
[조건1], [데이터가 조건 1과 일치할 때 반환할 결과],
...
[조건n], [데이터가 조건 n과 일치할 때 반환할 결과],
[위 조건 1~조건 n과 일치한 경우가 없을 때 반환할 결과])
### 데이터
0차원 : 스칼라(값이 하나)
1차원 : 벡트
2차원 : 행렬
3차원 이상 : 텐서