1.5 버전까지는 CURRENT_TIME, CURRENT_TIMESTAMP가 초 단위까지만 리턴했지만, 파이어버드 2.0에서는 밀리초까지 리턴할 수 있게 되었습니다. 또 옵션으로 1초, 1/10초, 1/100초, 1/1000초(밀리초)로 리턴하도록 지정할 수 있게 되었습니다. 리턴하는 시간 단위를 지정하려면 괄호로 0~3까지의 값을 넘겨주면 되는데, 0은 초, 1은 1/10초, 2는 1/100초, 3은 1/1000초를 지정합니다.
CURRENT_TIME은 0이 디폴트, CURRENT_TIMESTAMP는 3이 디폴트이므로 옵션 없이 실행했을 경우 각각 초단위, 밀리초 단위로 리턴합니다.
다음 SQL문을 실행해보면 한 눈에 0~3 옵션의 차이점을 알 수 있습니다.
select
cast(current_time(0) as varchar(30)),
cast(current_time(1) as varchar(30)),
cast(current_time(2) as varchar(30)),
cast(current_time(3) as varchar(30))
from RDB$DATABASE
결과:
2006-12-04 07:46:47.0000 2006-12-04 07:46:47.8000 2006-12-04 07:46:47.8200 2006-12-04 07:46:47.8280
select
cast(current_timestamp(0) as varchar(30)),
cast(current_timestamp(1) as varchar(30)),
cast(current_timestamp(2) as varchar(30)),
cast(current_timestamp(3) as varchar(30))
from RDB$DATABASE
결과:
07:47:30.0000 07:47:30.5000 07:47:30.5700 07:47:30.5780
|