아래 팁을 번역한 것입니다.
http://www.dotnetfirebird.org/blog/2005/01/date-and-time-calculations.html
TIMESTAMP 값을 연산할 때, 파이어버드는 다음과 같이 숫자처럼 취급해서 연산을 합니다.
* 소숫점 위 부분은 날(day)의 갯수임
* 소숫점 아래 부분은 시간 이하임
예를 들면,
* 2일: 2.0
* 1시간: 1.0/24.0
* 1분: 1.0/1440.0
* 1초: 1.0/86400.0
TIMESTAMP 값으로부터 시,분,초를 얻어내려면,
* 총 초 수: 값 * 86400.0
* 총 분 수: 값 * 1440.0
* 총 시간 수: 값 * 24.0
숫자에서 소숫점을 잊으면 안됩니다(예: 1.0). 소숫점을 빼먹으면 결과가 정수가 됩니다. 저도 정수로 나누는 실수를 하는 바람에 연산 디버깅을 하느라 많은 시간을 들였던 적이 있습니다. 그 이후로는 꼭 기억해두고 있죠.
|
http://firebird.borlandforum.com/impboard/impboard.dll?action=read&db=fb_qna&no=2008