12.4. CURRENT_TIME
Current server time in the session time zone, with time zone information
TypeTIME WITH TIME ZONE
Data type changed in Firebird 4.0 from TIME WITHOUT TIME ZONE to TIME WITH TIME ZONE.
Use Section 12.11, “LOCALTIME” to obtain TIME WITHOUT TIME ZONE.
Syntax
CURRENT_TIME [ (<precision>) ]
<precision> ::= 0 | 1 | 2 | 3
The optional precision argument is not supported in ESQL.
CURRENT_TIME Parameter| Parameter | Description |
|---|---|
precision | Precision. The default value is 0. Not supported in ESQL |
The default is 0 decimals, i.e. seconds precision.
CURRENT_TIME has a default precision of 0 decimals, where Section 12.5, “CURRENT_TIMESTAMP” has a default precision of 3 decimals.
As a result, CURRENT_TIMESTAMP is not the exact sum of Section 12.2, “CURRENT_DATE” and CURRENT_TIME, unless you explicitly specify a precision (i.e. CURRENT_TIME(3) or CURRENT_TIMESTAMP(0)).
Within a PSQL module (procedure, trigger or executable block), the value of CURRENT_TIME will remain constant every time it is read.
If multiple modules call or trigger each other, the value will remain constant throughout the duration of the outermost module.
If you need a progressing value in PSQL (e.g. to measure time intervals), use Section 12.14, “'NOW'”.
CURRENT_TIME and Firebird Time Zone SupportFirebird 4.0 added support for time zones.
As part of this support, an incompatibility with the CURRENT_TIME expression was introduced compared to previous version.
Since Firebird 4.0, CURRENT_TIME returns the TIME WITH TIME ZONE type.
In order for your queries to be compatible with database code of Firebird 4.0 and higher, Firebird 3.0.4 and Firebird 2.5.9 introduced the Section 12.11, “LOCALTIME” expression.
In Firebird 3.0.4 and Firebird 2.5.9, LOCALTIME is a synonym for CURRENT_TIME.
In Firebird 5.0, LOCALTIME returns TIME [WITHOUT TIME ZONE]), while CURRENT_TIME returns TIME WITH TIME ZONE.
Examples
select current_time from rdb$database
-- returns e.g. 14:20:19.0000
select current_time(2) from rdb$database
-- returns e.g. 14:20:23.1200
See alsoSection 12.5, “CURRENT_TIMESTAMP”, Section 12.11, “LOCALTIME”, Section 12.12, “LOCALTIMESTAMP”