SELECT SUBSTR('good morning john', 1, 4)
FROM dual
;
SELECT SUBSTR('good morning john', 8, 4)
FROM dual
;
SELECT SUBSTR('good morning john', 8)
FROM dual
;
SELECT SUBSTR('good morning john', -4)
FROM dual
;
replace('문자열', '변환하고 싶은 문자열', '변환하려고 하는 문자열')
SELECT REPLACE('good morning tom', 'morning', 'evenning')
FROM dual
;
SELECT SYSDATE
FROM dual
;
SELECT ADD_MONTHS(SYSDATE, 7), SYSDATE
FROM dual
;
-> 현재로부터 7개월 후의 날짜
SELECT LAST_DAY(SYSDATE)
FROM dual
;
SELECT SYSDATE + (INTERVAL '1' YEAR) -- 1년 후
, SYSDATE + (INTERVAL '1' MONTH) -- 1개월 후
, SYSDATE + (INTERVAL '1' DAY) -- 1일 후
, SYSDATE + (INTERVAL '1' HOUR) -- 1시간 후
, SYSDATE + (INTERVAL '1' MINUTE) -- 1분 후
, SYSDATE + (INTERVAL '1' SECOND) -- 1초 후
FROM DUAL
;
SELECT SYSDATE
, TO_CHAR(SYSDATE, 'yyyy/mm/dd')
FROM DUAL
;
SELECT SYSDADTE
, TO_CHAR(SYSDATE, 'yyyymmdd')
, TO_CHAR(SYSDATE, 'yyyy-mm-dd')
, TO_CHAR(SYSDATE, 'yyyy-mm-dd HH24:mi:ss')
, TO_CHAR(SYSDATE, 'yy.mm.dd')
FROM DUAL
;
SELECT TO_DATE('22/04/11')
, '2022/04/11'
FROM DUAL
nvl(컬럼명, null값에서 바꾸고 싶은 값)
SELECT FIRST_NAME , LAST_NAME , COMMISSION_PCT , NVL(COMMISSION_PCT, 0)
FROM EMPLOYEES e
-- department_id가 20이면 Marketing -> MA / 60이면 IT -> IT / 90이면 Executive -> EX / ETC
SELECT DEPARTMENT_ID
, DECODE(DEPARTMENT_ID, 20, 'MA', 60, 'IT', 90, 'EX', 'ETC')
FROM DEPARTMENTS d
;
SELECT FIRST_NAME , LAST_NAME , DEPARTMENT_ID
, CASE WHEN DEPARTMENT_ID = 20 THEN 'MA'
WHEN DEPARTMENT_ID = 60 THEN 'IT'
WHEN DEPARTMENT_ID = 90 THEN 'EX'
ELSE '' -- 이외의 값들은 NULL
END "deptvalue" -- 알리야스
FROM EMPLOYEES e
/*
* 1. EMPLOYEES 테이블에서 King의 정보를 소문자로 검색하고(검색조건),
* 사원번호, 성명, 담당업무(소문자 출력), 부서번호를 출력
*/
/*
* 2. EMPLOYEES 테이블에서 King의 정보를 대문자로 검색하고(검색조건),
* 사원번호, 성명, 담당업무(대문자 출력), 부서번호로 출력
*/
/*
* 3. DEPARTMENTS 테블에서 부서번호와 부서이름 위치번호(LOCATION_ID)를
* 합하여 출력하도록 하라
*/
/*
* 4. EMPLOYEES 테이블에서 30번 부서 중 사원번호 이름과 담당 아이디를
* 연결하여 출력하여라
*/
/*
* 5. EMPLOYEES 테이블에서 SALARY + SALARY*COMMISSION_PCT이 10000이상이면, 'good',
* 5000이상이면, 'average',
* 1이상 5000미만이면 'bad'
* 0이면 'no good'
* -> 알리아스 grade
* 으로 평가를 출력하고, employee_id, first_name, salary, commission_pct,
* SALARY + SALARY*COMMISSION_PCT 출력
*/