Skip to content

Compact Date (YYYYMMDD)

Type Registry

Compact Date (YYYYMMDD)

datetime.date.compact_ymd

Eight-digit date with no separators, year-first. Common in file naming, partition keys, and data warehousing (e.g. 20240115).

Domain datetimedate
Casts to DATE
Scope Universal

Try it

CLI
$ finetype infer -i "20240115"
→ datetime.date.compact_ymd

DuckDB

Detect
SELECT finetype('20240115');
-- → 'datetime.date.compact_ymd'
Cast expression
strptime({col}, '%Y%m%d')::DATE
Format: %Y%m%d
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS DATE) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'datetime.date.compact_ymd';

JSON Schema

finetype schema datetime.date.compact_ymd
{
  "$id": "https://noon.sh/schemas/datetime.date.compact_ymd",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Eight-digit date with no separators, year-first. Common in file naming, partition keys, and data warehousing (e.g. 20240115).",
  "examples": [
    "20240115",
    "20191231"
  ],
  "maxLength": 8,
  "minLength": 8,
  "pattern": "^\\d{8}$",
  "title": "Compact Date (YYYYMMDD)",
  "type": "string"
}

Examples

2024011520191231

Also known as

numeric_ymd

Types in datetime