TO_ISO8601()

All functions > DATE AND TIME > TO_ISO8601()

Returns an ISO 8601 duration string from the given interval.

Signatures

Intervals

Returns: An ISO 8601 duration string (e.g. 'P1DT4H5M6S')

TO_ISO8601(value: INTERVAL) → VARCHAR
sql
ParameterTypeRequiredDescription
valueINTERVALYesAn INTERVAL value to convert

Signature notes:

  • Output pattern: P[nY][nM][nD]T[nH][nM][nS] (the T is always present)
  • Zero components are omitted; a zero interval returns PT0S
  • Inverse of FROM_ISO8601_INTERVAL when the string matches that format

Examples

Dates

FeatureQL
SELECT
    f1 := TO_ISO8601(DATE '2024-03-15') -- Date produces midnight time component
;
Result
f1 VARCHAR
2024-03-15T00:00:00

Timestamps

FeatureQL
SELECT
    f1 := TO_ISO8601(TIMESTAMP '2024-03-15 10:30:00'), -- Mid-day wall-clock time
    f2 := TO_ISO8601(TIMESTAMP '2024-01-02 00:00:00') -- Midnight
;
Result
f1 VARCHARf2 VARCHAR
2024-03-15T10:30:002024-01-02T00:00:00

Intervals

FeatureQL
SELECT
    f1 := TO_ISO8601(INTERVAL '1 day 4 hours 5 minutes 6 seconds'), -- Day + time components
    f2 := TO_ISO8601(INTERVAL '30 minutes'), -- Pure time duration
    f3 := TO_ISO8601(INTERVAL '0 seconds') -- Zero interval
;
Result
f1 VARCHARf2 VARCHARf3 VARCHAR
P1DT4H5M6SPT30MPT0S

Last update at: 2026/05/26 17:22:09