[펌글] Informix 날짜 관련 계산 방법

요즘 인포믹스를 DB로 사용하고 있어서요. ^^;;

안까먹으려구요 데이터베이스 사랑넷에서 퍼왔습니다.
 
안녕하세요.

인포믹스에서는 날짜시간과 관련하여 3가지의 자료형을 제공합니다.

일반적을 생각하실 수 있는 date형과 datetime형

그리고 interval형을 제공합니다.

date형 : 년월일

datetime형 : 년에서 1/100000초까지 사용자가 지정하는 구간

interval형 : 기간

이들간의 관계는 다음과 같습니다.

date - date = interval

datetime - datetime = interval

date형에서 datetime형을 빼면 date형이 datetime형으로 형변환

된 후 계산이 됩니다.

이제 현재 시간보다 5분전을 구하기 위해서는

현재시간 - 5분의 기간 = 5분전 시간

CURRENT year to second - 5 units minute

= 오분전 시간(datetime year to second 형)

이 되겠죠. 5일전의 날짜를 구하는 것은

TODAY - 5 units day = 5일전 날짜(date형)

CURRENT year to day - 5 units day = 5일전 날짜(datetime year to day형)

그럼 좀더 복잡하게 5시간 50분을 빼보면

CURRENT year to second - interval (5:50) hour to minute

= 현재 시간에서 5시간 50분을 뺀 년월일 시분초(datetime year to second형)

위의 예에서 알 수 있듯이 단일 unit의 interval은

# units year|month|day|hour|minute|second|fraction

단일 unit이 아닐 경우에는

interval (...) ? to ?

형태로 사용합니다. 하지만 기간을 정할 수 없는 경우가 있는 데

한달의 길이가 월에 따라서 다르기 때문에 interval로는

1. year ~ month 사이

2. day ~ fraction 사이

의 두가지 형태로만 가능합니다. 즉

interval (2-10) month to day

는 사용할 수 없습니다. 정확히 몇일인지 구분이 되지 않기 때문이죠.

자세한 문법은 Guide to Syntax의

Segments -> Interval이라는 글자가 들어간 문단을 참조하시고

다음으로 대여일수를 계산하는 것을 보도록 하죠.

TODAY - 대여일(date형) = 대여일수(interval 형)

select *, TODAY - 대여일 from 대여장부 ....;

여기서 반환되는 대여일수의 자료형은 interval형입니다. 이것은 인포믹스에만

존재하는 자료형으로 asp등에서는 오류가 나거나 표기가 되지 않습니다.

이경우 IDS 버전이 9.x일 경우 형변환(casting)을 하여 사용합니다.

select *, (TODAY - 대여일)::varchar(10) from 대여장부 ...;

또는 숫자형으로 받기를 원할 경우

select *, (TODAY - 대여일)::varchar(10)::integer from 대여장부 ...;

형태로 사용합니다.

흠~ 설명이 충분할지 모르겠군요.

그럼 수고하세요.

데이터베이스 사랑넷 박영길님의 답변글

http://database.sarang.net/?inc=read&aid=283&criteria=informix&subcrit=&id=&limit=20&keyword=current+%2B&page=3

2008/01/17 16:08 2008/01/17 16:08

Posted by 가야태자

, , , , , , ,
Response
No Trackback , No Comment
RSS :
http://dulihana.cafe24.com/blog/rss/response/197

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

Leave a comment
« Previous : 1 : ... 63 : 64 : 65 : 66 : 67 : 68 : 69 : 70 : 71 : ... 221 : Next »

블로그 이미지

이곳은 가야태자의 일상생활, 사진, 리눅스, 자유, 개발언어, 데이타베이스 등에 대해서 이야기 하는 공간입니다.

- 가야태자

Archives

Calendar

«   2009/11   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Site Stats

Total hits:
252173
Today:
167
Yesterday:
255