11.11. LOCALTIME
Available inDSQL, PSQL, ESQL
TypeTIME WITHOUT TIME ZONE
Syntax
LOCALTIME [ (<precision>) ]
<precision> ::= 0 | 1 | 2 | 3
The optional precision argument is not supported in ESQL.
LOCALTIME Parameter| Parameter | Description |
|---|---|
precision | Precision. The default value is 0. Not supported in ESQL |
LOCALTIME returns the current server time in the session time zone.
The default is 0 decimals, i.e. seconds precision.
In Firebird 4.0, Section 11.4, “
CURRENT_TIME” returns aTIME WITH TIME ZONEinstead of aTIME [WITHOUT TIME ZONE], whileLOCALTIMEreturnsTIME [WITHOUT TIME ZONE]. It is recommended to useLOCALTIMEwhen you do not need time zone information.LOCALTIMEhas a default precision of 0 decimals, where Section 11.12, “LOCALTIMESTAMP” has a default precision of 3 decimals. As a result,LOCALTIMESTAMPis not the exact sum of Section 11.2, “CURRENT_DATE” andLOCALTIME, unless you explicitly specify a precision (i.e.LOCALTIME(3)orLOCALTIMESTAMP(0)).Within a PSQL module (procedure, trigger or executable block), the value of
LOCALTIMEwill 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”