반응형
이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 |
날짜 데이터 INSERT
아래의 테이블이 없으면 여기를 클릭하여 테이블을 생성하고 돌아오자.
SELECT * FROM TB_EMP;
아래 두 쿼리문을 실행해 두 데이터를 삽입해 보자.
INSERT INTO TB_EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES (9999, 'GSP', 'CEO', NULL, '2022/06/06', 9999, NULL, 10);
INSERT INTO TB_EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES (1010, 'JEONGSEON', 'DESIGNER', NULL, '2022-06-06', 4000, 1500, 60);
SELECT * FROM TB_EMP; -- 삽입 결과 확인
위에서 주목할 점은 날짜형 열인 HIREDATE에 들어간 날짜의 형태가 각각 '2022/06/06', '2022-06-06'으로 들어갔음에도 날짜 데이터가 성공적으로 삽입되었다는 점이다.
그렇다면 아래 쿼리문을 실행해 보자.
INSERT INTO TB_EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES (1020, 'BANSEOK', 'ENGINEER', NULL, '06/06/2022', 6000, 500, 50);
위 쿼리를 실행하면 아래와 같은 결과 화면이 보일 것이다.
이는 운영체제나 사용하는 기본 언어군에 따라 날짜 표기 방식이 달라 날짜 데이터 삽입 에러가 발생한 것이다. 때문에 날짜 데이터를 INSERT할 때에는 아래의 예시처럼 TO_DATE 함수를 사용하는 것이 안전하다.
INSERT INTO TB_EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES (1020, 'BANSEOK', 'ENGINEER', NULL, TO_DATE('06/06/2022', 'DD/MM/YYYY'), 6000, 500, 50);
SELECT * FROM TB_EMP; -- 결과 확인
반응형
'개발 지식 > [DBMS] Oracle' 카테고리의 다른 글
[Oracle] DML(5) - UPDATE의 기본 개념과 사용 형태 (0) | 2022.06.10 |
---|---|
[Oracle] DML(4) - 서브쿼리를 활용한 다중 INSERT (0) | 2022.06.09 |
[Oracle] DML(2) - INSERT의 기본 개념과 사용 형태 (0) | 2022.06.07 |
[Oracle] DML(1) - 들어가기 전에 (0) | 2022.06.06 |
[Oracle] 서브쿼리(4) - 다중열 서브쿼리를 통한 WHERE절 비교 (0) | 2022.06.05 |