>>나그네 님께서 쓰시길<<
:: 날짜 형식은 '17-JAN-98' 로 삽입해야 하는 군요..
:: 그런데 이렇게 '98/01/17' 이렇게 삽입하게 하고 저장하려면 어떻게 해야 하나요?
::
:: >>바보 님께서 쓰시길<<
::
:: :: table 생성하기를
:: :: SQL> create table professor
:: :: 2 (P_sn number(3) not null,
:: :: 3 P_name varchar2(8),
:: :: 4 sosok varchar2(14),
:: :: 5 imyong date not null,
:: :: 6 bojik varchar2(6),
:: :: 7 sal number(8),
:: :: 8 primary key(p_sn))
:: :: 9 ;
:: :: Table created.
:: :: SQL> desc professor;
:: :: Name Null? Type
:: :: ------------------------------- -------- ----
:: :: P_SN NOT NULL NUMBER(3)
:: :: P_NAME VARCHAR2(8)
:: :: SOSOK VARCHAR2(14)
:: :: IMYONG NOT NULL DATE
:: :: BOJIK VARCHAR2(6)
:: :: SAL NUMBER(8)
:: :: 잘 생성은 됀거 같고요.. 그런데
:: :: SQL> insert into professor (p_sn,p_name,sosok,imyong,bojik,sal)
:: :: 2 values (131,'김현석','전산','80/07/06','정교수',2800000);
:: :: values (131,'김현석','전산','80/07/06','정교수',2800000)
:: :: *
:: :: ERROR at line 2:
:: :: ORA-01847: day of month must be between 1 and last day of month
:: :: date 형이 잘못됐다는 거 같은데..
:: :: '80/07/06'에서 따옴표 없애도보고 숫자위치도 바꿔봐도 안돼네요.
:: :: 책에는 위에처럼 해야 한다고 나오던데 저렇게 에러가 뜨니 뭐가 잘못인가요?
원하시는 답인지는 모르겠지만
한번 써보면
sys로 login한 다음
$svrmgrl
svrmgrl>connect internal;
svrmgrl>select name, value$
from sys.props$
where name = 'NLS_DATE_FORMAT';
NAME VALUE$
--------------------------------
NLS_DATE_FORMAT DD-MON-RR
확인 후
svrmgrl>UPDATE sys.props$
SET value$ = 'YYYY-MM-DD'
WHERE name = 'NLS_DATE_FORMAT';
svrmgrl>select name, value$
from sys.props$
where name = 'NLS_DATE_FORMAT';
NAME VALUE$
--------------------------------
NLS_DATE_FORMAT YY-MM-DD
원하는 결과가 나오면
svrmgrl>commit;
svrmgrl>shutdown immediate;
svrmgrl>startup;
init<orcl>.ora 화일중
nls_date_format = "'YYYY/MM/DD"
.cshrc등에 환경화일등에도 마찬가지
Window는
REGEDIT를 기동시켜서
HKEY-LOCAL-MACHINE -> SOFTWARE -> ORACLE
항목에 들어가셔서
NLS_DATE_FORMAT = YYYY-MM-DD
오라클셋팅변경은 예기치 못한 중대한 결함을 초래할 수있으니
조심하세요.저는 책임 못집니다. 쩝.
|