오라클에서는 일반적인 산술 연산도 가능하다.
SELECT 24*60 FROM DUAL;
DUAL 이라는 테이블은 이러한 계산을 위해 하나의 컬럼만 존재하는 더미 테이블이다.
IS NULL, IS NOT NULL
SQL> SELECT 수강번호, 이름 FROM 수강생 WHERE 연락처 IS NULL; 수강번호 이름 ---------- ---------- 145 지우인 175 김민재
해당 컬럼이 널인지, 아닌지 여부를 확인한다.
SUBSTR, SUBSTRB
SQL> SELECT 상품명, SUBSTR(상품명, 3, 4), SUBSTRB(상품명, 3, 4) FROM 상품; 상품명 SUBSTR( SUBS -------------------- -------- ---- 아이폰 폰 이폰 갤럭시 시 럭시 프리에이전트 에이전트 리에 옵티머스 머스 티머 맥북 북 아이패드 패드 이패 6 개의 행이 선택되었습니다.
SUBSTR(잘라내기 시작할 위치, 위치에서부터 몇글자)
SUBSTRB는 한글을 한글자로 인식하는것이 아닌 2바이트 그대로 인식하게 된다.
INSTR, INSTRB
SQL> SELECT 상품명, INSTR(상품명, '이'), INSTRB(상품명, '이') FROM 상품; 상품명 INSTR(상품명,'이') INSTRB(상품명,'이') -------------------- ------------------ ------------------- 아이폰 2 3 갤럭시 0 0 프리에이전트 4 7 옵티머스 0 0 맥북 0 0 아이패드 2 3 6 개의 행이 선택되었습니다.
INSTR(컬럼명, '찾는 글자')
찾는 글자가 처음 나타나는 위치를 반환한다.
INSERT, UPDATE, DELETE
SQL> INSERT INTO 수강생 ( 수강번호, 수강과목, 이름 ) VALUES ( 555, '수학', '김도진'); 1 개의 행이 만들어졌습니다. SQL> UPDATE 수강생 SET 연락처='010-3950-7777' WHERE 수강번호=167; 1 행이 갱신되었습니다. SQL> DELETE FROM 수강생 WHERE 수강과목='수학'; 3 행이 삭제되었습니다.
LPAD, RPAD
SQL> SELECT LPAD ('Oracle', 20, '#') FROM DUAL; LPAD('ORACLE',20,'#' -------------------- ##############Oracle SQL> SELECT RPAD ('Oracle', 20, '#') FROM DUAL; RPAD('ORACLE',20,'#' -------------------- Oracle##############
LTRIM, RTRIM, TRIM
SQL> SELECT LTRIM(' ORACLE ') AS LTRIM, RTRIM(' ORACLE ') AS RTRIM, TRIM(' ORACLE ') AS TRIM FROM DUAL LTRIM RTRIM TRIM --------- --------- ------ ORACLE ORACLE ORACLE