본문 바로가기

IT/oracle

NLS_DATE_FORMAT

SQL> col parameter format a30;
SQL> col value format a40;
SQL> select * from nls_session_parameters where parameter = 'NLS_DATE_FORMAT';

PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_DATE_FORMAT                RR/MM/DD

SQL> select sysdate from dual;

SYSDATE
--------
05/04/18

SQL> create table temp_date
  2  (id number, cur_date date);

테이블이 생성되었습니다.

SQL> insert into temp_date values (1, '05/03/23');
       -> 위에서 확인 NLS_DATE_FORMAT과 동일하게 맞추면 날짜 입력됨.
          명시되지 않은 시간 분/초는 default값이 12:00:00으로 입력됨.

1 개의 행이 만들어졌습니다.

SQL> alter session set nls_date_format = 'DD/MM/RR HH:MI:SS';

세션이 변경되었습니다.

SQL> insert into temp_date values (2, '28/03/05 12:10:17');
       -> NLS_DATE_FORMAT을 변경시켜 날짜 format을 바꾼후 입력.

1 개의 행이 만들어졌습니다.

SQL> insert into temp_date values (3, to_date('15/07/05 12','DD/MM/RR HH'));
       -> to_date라는 함수를 통해 원하는 format으로 변경 가능.
          to_date('시간‘,'FORMAT요소’) 시간에 맞춰서 FORMAT요소를 설정
          

1 개의 행이 만들어졌습니다.

SQL> select * from temp_date;

        ID CUR_DATE
---------- -----------------
         1 23/03/05 12:00:00
         2 28/03/05 12:10:17
         3 15/07/05 12:00:00

SQL> select id, to_char(cur_date, 'DD/MM/RR HH:MI:SS') from temp_date;

        ID TO_CHAR(CUR_DATE,
---------- -----------------
         1 23/03/05 12:00:00
         2 28/03/05 12:10:17
         3 15/07/05 12:00:00


부적절한 경우 오류 나옴
SQL> insert into temp_date values (2, '03/28/05 12:10:17');
insert into temp_date values (2, '03/28/05 12:10:17')
                                 *
1행에 오류:
ORA-01843: 지정한 월이 부적합합니다

'IT > oracle' 카테고리의 다른 글

Backup의 종류  (0) 2015.04.06
Oracle Backup And Recovery  (0) 2015.04.06
데이터베이스 링크(Database Link)란?  (0) 2015.04.06
객체권한(Object Privileges) 이란?  (0) 2015.04.06
SQL*PLUS 사용법  (0) 2015.02.05
Oracle FlashBack 을 이용한 데이터 복구  (0) 2015.02.03
오라클 RMAN 백업의 주요 특징  (0) 2015.02.02
아카이브 로그 모드(Archive Log Mode)란?  (0) 2015.02.02
Extent와 Segment  (0) 2015.01.30
Temporary tablespace  (0) 2015.01.30