MeridianMERIDIAN

TSID

Time-Sorted ID. 32 lowercase hexadecimal characters with an embedded timestamp in the leading digits. Distinguished from UUID by having no hyphens, and from cryptographic hashes by the timestamp constraint.

TSID

technology.identifier.tsid

Time-Sorted ID. 32 lowercase hexadecimal characters with an embedded timestamp in the leading digits. Distinguished from UUID by having no hyphens, and from cryptographic hashes by the timestamp constraint.

Domain
technology
Category
identifier
Casts to
VARCHAR
Scope
Universal

Try it

CLI
$ finetype infer -i "0190a1b2c3d4e5f6a7b8c9d0e1f2a3b4"
→ technology.identifier.tsid

DuckDB

Detect
SELECT finetype('0190a1b2c3d4e5f6a7b8c9d0e1f2a3b4');
-- → 'technology.identifier.tsid'
Cast expression
CAST({col} AS VARCHAR)
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'technology.identifier.tsid';

JSON Schema

finetype schema technology.identifier.tsid
{
  "$id": "https://meridian.online/schemas/technology.identifier.tsid",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Time-Sorted ID. 32 lowercase hexadecimal characters with an embedded timestamp in the leading digits. Distinguished from UUID by having no hyphens, and from cryptographic hashes by the timestamp constraint.",
  "examples": [
    "0190a1b2c3d4e5f6a7b8c9d0e1f2a3b4",
    "018f47d5a6b70000000000000000abcd",
    "0191c8e4f2a30000fedcba9876543210"
  ],
  "pattern": "^[0-9a-f]{32}$",
  "title": "TSID",
  "type": "string",
  "x-finetype-broad-type": "VARCHAR",
  "x-finetype-transform": "CAST({col} AS VARCHAR)",
  "x-finetype-transform-ext": "tsid_to_timestamp({col})"
}

Examples

0190a1b2c3d4e5f6a7b8c9d0e1f2a3b4018f47d5a6b70000000000000000abcd0191c8e4f2a30000fedcba9876543210

Type Registry