11.11LOCALTIME

Available inDSQL, PSQL, ESQL

TypeTIME

Syntax

  |LOCALTIME [ (<precision>) ]
  | 
  |<precision> ::= 0 | 1 | 2 | 3

The optional precision argument is not supported in ESQL.

Table 11.3LOCALTIME Parameter
ParameterDescription

precision

Precision. The default value is 0. Not supported in ESQL

LOCALTIME returns the current server time. The default is 0 decimals, i.e. seconds precision.

Note
  • LOCALTIME was introduced in Firebird 3.0.4 as an alias of CURRENT_TIME. In Firebird 4, CURRENT_TIME will return a TIME WITH TIME ZONE instead of a TIME [WITHOUT TIME ZONE], while LOCALTIME will continue to return TIME [WITHOUT TIME ZONE]. It is recommended to switch from CURRENT_TIME to LOCALTIME for forward-compatibility with Firebird 4.

  • LOCALTIME has a default precision of 0 decimals, where LOCALTIMESTAMP has a default precision of 3 decimals. As a result, LOCALTIMESTAMP is not the exact sum of CURRENT_DATE and LOCALTIME, unless you explicitly specify a precision (i.e. LOCALTIME(3) or LOCALTIMESTAMP(0)).

  • Within a PSQL module (procedure, trigger or executable block), the value of LOCALTIME 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 11.14, “'NOW'.

Examples

  |select localtime from rdb$database
  |-- returns e.g. 14:20:19.0000
  | 
  |select localtime(2) from rdb$database
  |-- returns e.g. 14:20:23.1200

See alsoSection 11.4, “CURRENT_TIME, Section 11.12, “LOCALTIMESTAMP