안녕하세요.
덧붙여서 좀 더 자세히 설명을 해보면...
1. DATETIME형은 항상 YYYY-MM-DD HH:MI:SS.FFFFF형태에
근거하여 사용자가 정의한 자리만 출력되고 입력될 수
있습니다.
즉 regdate datetime YEAR to MINUTE 라고 컬럼을
선언하셨다면
insert into test(regdate) values (CURRENT);
insert into test(regdate) values ('2001-02-12 11:51');
insert into test(regdate) values (TO_DATE('2001-02-12 11:51', '%Y-%m-%d %H:%M'));
형태로 입력하시면 됩니다. TO_DATE는 입력된 문자열을 format에 맞추어
datetime형으로 변환하는 함수입니다. 역으로 TO_CHAR를 사용하시면
원하는 형태의 문자열로 변환할 수 있습니다. format 문자열은
ANSI형태를 사용합니다. 유닉스나 리눅스에서
$man date
를 참조하시기 바랍니다.
2. DATE 형은 클라이언트의 환경변수(DBDATE)에 따라서
다르게 변환이 됩니다.
만약 환경변수가
$export DBDATE=Y4MD-
로 설정이 되어 있다면
insert into test(date컬럼) values (TODAY);
insert into test(date컬럼) values ('2001-02-12');
을
$export DBDATE=MDY4/
로 설정이 되어 있거나 전혀 설정되어 있지 않다면(default값이므로)
insert into test(date컬럼) values ('02/12/2001');
의 형태로 입력하시면 됩니다.
만약 IDS2000을 사용하시고 있다면
insert into test(date컬럼) values ('2001-02-12'::datetime year to day);
insert into test(date컬럼) values (MDY(2,12,2001));
처럼 형변환을 사용하시거나 MDY함수를 사용하시면 환경변수와
관계없이 insert가 가능합니다.
** date형에 CURRENT를 사용하시면 한번의 자료형 변환이 일어납니다.
그럼 수고하세요.
>>purple 님께서 쓰시길<<
:: 음,
:: 날짜 형식 어떤걸 사용하셨나요?
:: DATE, DATETIME 중 하나를 사용하셨겠지만
:: 우선 db쪽에 날짜를 입력하는 형식에 맞춰서 입력해 주셔야 합니다.
:: 쉽게 확인 하는 방법은 TODAY나 CURRENT라는 function을 사용해 보세요.
:: 예를 들어서
:: select unique today from systables;
:: 위 구문을 실행해서 결과를 보면 날짜 형식이 어떻게 되있다는 거 확인 하실수 있습니다.
:: 그 형식에 맞춰서 넣으시면 될꺼구요.
:: 아님, 뭐 다른 DATE()나, TO_DATE()뭐 이런거 사용해도 되는데,
:: function 사용보다는 기냥 입력하는게 더 나을거 같구요.
:: 도움 되셨기를~
::
::
::
:: >>태양이 님께서 쓰시길<<
::
:: :: insert문에서.. 입력을 하는데.. 날짜를 입력해야 하는데...
:: ::
:: :: 어떻게.. 입력을 해야 할지.. 몰라서.. 이렇게 글을 올립니다.
:: ::
:: :: 날짜를 입력하지 않아도 되는 테이블은.. 별 문제없이.. 입력이 되었는데...
:: ::
:: :: 날짜를 입력하는 테이블은.. 오류가 나오군요...
:: ::
:: :: 아무래도.. 입력 형식이.. 맞지 않아서 그런거 같은데...
:: ::
:: :: 예제나.. 방법을 가르쳐 주시면.. 감사하겠씁니다.
:: ::
:: :: 태양이가.
|