예시2
emp테이블에서 데이터 형식이 date인 hiredate 컬럼의 데이터 중, IN문을 사용해 대상이 되는 데이터만을 취득하는 SQL문입니다. 검색 대상은 hiredate 값이 1980/12/17, 1981/12/03, 1982/01/23인 데이터입니다.
COLUMN empno FORMAT 99999;
COLUMN ename FORMAT A6;
COLUMN hiredate FORMAT A10;
alter session set nls_date_format = 'YYYY/MM/DD';
SELECT empno, ename, hiredate FROM emp WHERE hiredate IN ('1980/12/17', '1981/12/03', '1982/01/23');
※alter문으로 date 포맷을 변경하지 않았을 경우에는 TO_DATE를 이용해 포맷을 지정한 SQL문을 사용합니다.
SELECT empno, ename, hiredate FROM emp WHERE hiredate IN (TO_DATE('1980/12/17', 'YYYY/MM/DD'), TO_DATE('1981/12/03', 'YYYY/MM/DD'), TO_DATE('1982/01/23', 'YYYY/MM/DD'));
실행 결과는 다음과 같습니다. HIREDATE의 값이 1980/12/17, 1981/12/03, 1982/01/23인 데이터가 출력됩니다.
EMPNO ENAME HIREDATE
------ ------ ----------
7369 SMITH 1980/12/17
7900 JAMES 1981/12/03
7902 FORD 1981/12/03
7934 MILLER 1982/01/23
IN 대신 OR를 사용해 같은 결과를 취득할 수 있습니다.
COLUMN empno FORMAT 99999;
COLUMN ename FORMAT A6;
COLUMN hiredate FORMAT A10;
alter session set nls_date_format = 'YYYY/MM/DD';
SELECT empno, ename, hiredate FROM EMP WHERE hiredate = '1980/12/17' OR hiredate = '1981/12/03' OR hiredate = '1982/01/23';
※alter문으로 date 포맷을 변경하지 않았을 경우에는 TO_DATE를 이용해 포맷을 지정한 SQL문을 사용합니다.
SELECT empno, ename, hiredate FROM EMP WHERE hiredate = TO_DATE('1980/12/17', 'YYYY/MM/DD') OR hiredate = TO_DATE('1981/12/03', 'YYYY/MM/DD') OR hiredate = TO_DATE('1982/01/23', 'YYYY/MM/DD');
EMPNO ENAME HIREDATE
------ ------ ----------
7369 SMITH 1980/12/17
7900 JAMES 1981/12/03
7902 FORD 1981/12/03
7934 MILLER 1982/01/23
다음 페이지에 계속 …