freeman 님이 쓰신 글 :
: 안녕하세요.
:
: 헤메다가 여쭈어 봅니다.
:
: CREATE TABLE SOO (SEQ INTEGER NOT NULL, T1 TIMESTAMP,T2 TIMESTAMP,T3 TIMESTAMP );
: 테이블을 위와 같이 만들고
: insert into soo(seq,t1) values(1,'now'); // T1에 현재시각을 넣고
:
: //3분 후에 T2 시간을 입력
: update soo set t2 = 'now' where seq = 1;
:
: 그리고 T3에 T2-T1의 시간 차이를 넣으려고 하는데
: 에러가 발생합니다.... 어찌 하면 됩니까 ??????
:
: update soo set t3 = t2 - t1 where seq = 1;
안녕하세요.
위와 같이 바로 하시면 Overflow occurred during data type conversion. 이라는 에러가 납니다. timestamp 로 입력되는 필드값은 정수나 실수처럼 바로 빼고 더할 수 없기 때문이죠.
델파이 같은 프로그램으로 뽑아서 사용하시길 권장합니다.
TDatetime 으로 t3를 정의 하신 후
t3 := strTodatetime(t2)- strTodatetime(t1) 이렇게 하시면 바로 날짜가 계산이 됩니다.
SQL에서 바로 할 수 있는 방법이 있으면 저도좀...
그럼 수고요...
|