9.4. CURRENT_TIME
Available in
DSQL, PSQL, ESQL
Syntax
CURRENT_TIME [ (<precision>) ]
<precision> ::= 0 | 1 | 2 | 3
The optional precision argument is not supported in ESQL.
Parameter | Description |
---|---|
precision | Precision. The default value is 0. Not supported in ESQL |
Type
TIME
Description
CURRENT_TIME
returns the current server time. In versions prior to 2.0, the fractional part used to be always “.0000
”, giving an effective precision of 0 decimals. From Firebird 2.0 onward you can specify a precision when polling this variable. The default is still 0 decimals, i.e. seconds precision.
Examples
select current_time from rdb$database
-- returns e.g. 14:20:19.6170
select current_time(2) from rdb$database
-- returns e.g. 14:20:23.1200
Notes
Unlike
CURRENT_TIME
, the default precision ofCURRENT_TIMESTAMP
has changed to 3 decimals. As a result,CURRENT_TIMESTAMP
is no longer the exact sum ofCURRENT_DATE
andCURRENT_TIME
, unless you explicitly specify a precision.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'NOW'
.