ISO 8601 Duration
Type Registry
ISO 8601 Duration
datetime.duration.iso_8601 Duration in ISO 8601 format (PnYnMnDTnHnMnS). Used in iCalendar, XML Schema, and many APIs.
Domain datetime›duration
Casts to INTERVAL
Scope Universal
Try it
CLI
$ finetype infer -i "PT30M"
→ datetime.duration.iso_8601 DuckDB
Detect
SELECT finetype('PT30M');
-- → 'datetime.duration.iso_8601' Cast expression
{col}::INTERVAL Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS INTERVAL) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'datetime.duration.iso_8601'; JSON Schema
finetype schema datetime.duration.iso_8601 {
"$id": "https://noon.sh/schemas/datetime.duration.iso_8601",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Duration in ISO 8601 format (PnYnMnDTnHnMnS). Used in iCalendar, XML Schema, and many APIs.",
"examples": [
"PT30M",
"PT1H30M",
"P1DT12H",
"P1Y6M"
],
"pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?$",
"title": "ISO 8601 Duration",
"type": "string"
} Examples
PT30MPT1H30MP1DT12HP1Y6M Also known as
duration