전체 글
NVLNVL 함수는 NULL 값을 다른 값으로 바꿀 때 사용하며, 모든 데이터 타입에 적용이 가능하다.-- 매니저가 없는 값을 0으로 바꾸어서 출력하는 예제.SELECT empno, NVL(mgr, 0) mgr FROM emp WHERE deptno = 10; EMPNO MGR------- ------- 7782 7839 7839 0 7934 7782 NVL2- NVL2라는 함수는 NVL함수의 DECODE 함수의 개념을 합쳤다고 생각하면 쉽습니다.- NVL2(expr, expr1, expr2)- expr의 값이 NULL이 아닐 경우에는 expr1의 값을 반환 하고, NULL일 경우에는 expr2의 값을 반환 한다.-- 매니저가 있는경우 1을 없는경우 0을 출력하는 예제이다.SELECT empno, NVL..
DECODE와 CASE 함수는 SQL 문장에서 조건에 해당하는 값을 추출하고자 할 때 주로 사용한다DECODE- DECODE 함수는 조건에 따라 데이터를 다른 값이나 컬럼값으로 추출 할 수 있다.- DECODE(VALUE, IF1, THEN1, IF2, THEN2...) 형태로 사용 할 수 있다.- VALUE 값이 IF1일 경우에 THEN1 값을 반환하고, VALUE 값이 IF2일 경우에는 THEN2 값을 반환한다.- DECODE 함수 안에 DECODE함수를 중첩으로 사용 할 수 있다.아래는 DECODE 함수의 일반적인 예제이다.-- 부서번호가 10이면 ACCOUNTING, 20이면 RESEARCH, 30이면 SALES-- 나머지는 OPERATIONS를 출력하는 예제SELECT deptno, DECODE..
DUMPDUMP는 바이트 크기와 해당 데이터 타입 코드를 반환 한다. -- 16대신 8을 넣으면 8진수로, 10를 넣으면 10진수로 변환이 된다. -- Len은 ename의 해당 byte 수 이다. SQL> SELECT ename, DUMP(ename, 16) "16진수" FROM emp WHERE ename = 'ALLEN'; ename 16진수 ------ ------------------------------ ALLEN Typ=1 Len=5: 41,4c,4c,45,4eGREATESTGREATEST 함수는 검색 값 중에서 가장 큰 값을 반환 한다. SQL> SELECT GREATEST(10, 100, 5, -7) FROM DUAL; GREATEST(10,100,5,-7) ----------------..
TO_CHARTO_CHAR 함수는 DATE형, NUMBER형을 문자 타입으로 변환하는 함수이다. TO_CHAR(number), TO_CHAR(number, format), TO_CHAR(date, format) 형식으로 사용할 수 있다.Number Format의 변환 예제NUMBER 타입의 데이터를 아래와 같이 특정 형식의 문자 타입으로 변환 할 수 있다.-- 콤마 예제SELECT TO_CHAR(12345678,'999,999,999') comma FROM DUAL; -- 소숫점 예제 SELECT TO_CHAR(123.45678,'999,999,999.99') period FROM DUAL; -- $ 표시 예제SELECT TO_CHAR(12345678,'$999,999,999') dollar FROM D..
날짜 함수는 오라클 날짜에 대해 연산을 한다.날짜 함수는 NUMBER형 값 또는 DATE형의 값을 RETURN 한다.SYSDATESYSDATE 함수를 사용하면 현재 일자와 시간(시스템기준)을 얻을 수 있다.최소단위 = 1초SELECT TO_CHAR(SYSDATE,'RRRR-MM-DD HH24:MI:SS') "지금시간" FROM DUAL ; SELECT TO_CHAR(SYSDATE-1,'RRRR-MM-DD HH24:MI:SS') "하루전지금시간" FROM DUAL ; SELECT TO_CHAR(SYSDATE-1/24,'RRRR-MM-DD HH24:MI:SS') "1시간전시간" FROM DUAL ; SELECT TO_CHAR(SYSDATE-1/24/60,'RRRR-MM-DD HH24:MI:SS') "1분전시..
문자형 함수란 CHAR, VARCHAR2 타입을 인수로 받아 VARCHAR2 타입의 값을 반환하는 함수이다.CONCAT(char1, char2)CONCAT 함수는 Concatenation의 약자로 두 문자를 결합하는 역할을 한며, "||" 연산자와 같은 역할을 한다.-- CONCAT 예제SELECT CONCAT('www.', 'oracleclub')||'.com' name FROM DUAL; NAME------------------www.gurubee.net INITCAP(char), LOWER(char), UPPER(char)INITCAP : 주어진 문자열의 첫 번째 문자를 대문자로 변환시켜 준다.LOWER : 주어진 문자열을 소문자로 변환시켜 준다.UPPER : 주어진 문자열을 대문자로 변환시켜 준다..
숫자형 함수란 수 값을 인수로 받아 NUMBER 타입의 값을 반환하는 함수이다.ABS(n)ABS 함수는 절대값을 계산하는 함수이다.-- ABS 예제SELECT ABS (-1.234) absolute FROM DUAL; ABSOLUTE---------- 1.234 CEIL(n)CEIL 함수는 올림값을 반환하는 함수이다.-- CEIL 양수 예제SELECT CEIL(10.1234) "CEIL" FROM DUAL; CEIL---------- 11 -- CEIL 음수 예제SELECT CEIL(-10.1234) "CEIL" FROM DUAL; CEIL---------- -10 FLOOR(n)FLOOR 함수는 버림값을 반환하는 함수이다.-- FLOOR 양수 예제SELECT FLOOR(10.1234) "FLOOR" F..
COMMIT 과 ROLLBACK이전의 커밋(COMMIT)이 일어난 뒤부터 다음의 커밋(COMMIT) 전까지의 작업이 하나의 트랜잭션 이며, 커밋과 롤백(ROLLBACK)은 이러한 트랜잭션 단위로 데이터 베이스에서 발생한 작업을 저장, 삭제하는 일이다.- 자동 COMMIT : DDL(Create, Alter, Drop), DCL(Grant, Revoke)- 자동 ROLLBACK : 비정상적인 종료, system failure SQL> DELETE FROM emp WHERE empno = 7521 ; 한 개의 행이 삭제 되었습니다. SQL> COMMIT; 커밋이 완료 되었습니다 -- 한 개의 행을 삭제하고, COMMIT 문으로 데이터를 영구히 저장했다. -- 이 것은 하나의 트랜잭션이 여기서 종료되고, 새로..
트랜잭션(TRANSACTION)- 트랜잭션은 데이터 처리의 한 단위 이다.- 오라클 서버에서 발생하는 SQL문들이 하나의 논리적인 작업 단위로써 성공하거나 실패하는 일련의 SQL문을 트랙잭션이라 보면 된다.- 오라클 서버는 트랜잭션을 근거로 데이터의 일관성을 보증 한다.- 트랜잭션은 데이터를 일관되게 변경하는 DML문장으로 구성된다 (COMMIT, ROLLBACK, SAVEPOINT)TRANSACTION의 시작- 실행 가능한 SQL문장이 제일 처음 실행될 때TRANSACTION의 종료- COMMIT이나 ROLLBACK- DDL이나 DCL문장의 실행(자동 COMMIT)- 기계 장애 또는 시스템 충돌(crash)- deadlock 발생- 사용자가 정상 종료자동 COMMIT은 다음의 경우 발생 한다.- DDL..
CROSS JOINCartesian Product 값을 얻을때 사용 한다. -- 아래 SQL문장을 실행해 보자 SQL> SELECT ename FROM emp CROSS JOIN deptINNER JOIN- 일반 조인시 ,(콤마)를 생략하고 INNER JOIN을 추가하고, WHERE절 대신 ON절을 사용하면 된다.- INNER는 생략 가능 하다.- 아래 두 조인의 결과 값은 같다. -- INNER JOIN을 사용한 문장 SQL> SELECT e.empno, e.ename FROM dept d INNER JOIN emp e ON d.deptno=e.deptno; -- 일반적인 SQL 문장 SQL> SELECT e.empno, e.ename FROM dept d , emp e WHERE d.deptno=e...