Skip to content

Pipe-Separated Values

Type Registry

Pipe-Separated Values

container.array.pipe_separated

List separated by pipe character: value1|value2|value3. Similar to CSV but uses pipe as delimiter. RECURSIVE INFERENCE: Samples elements and infers common type, returns LIST<inferred_type>.

Domain containerarray
Casts to VARCHAR
Scope Universal

Try it

CLI
$ finetype infer -i "apple|banana|cherry"
→ container.array.pipe_separated

DuckDB

Detect
SELECT finetype('apple|banana|cherry');
-- → 'container.array.pipe_separated'
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) = 'container.array.pipe_separated';

Decompose

STRING_SPLIT({col}, '|')

JSON Schema

finetype schema container.array.pipe_separated
{
  "$id": "https://noon.sh/schemas/container.array.pipe_separated",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "List separated by pipe character: value1|value2|value3. Similar to CSV but uses pipe as delimiter.\nRECURSIVE INFERENCE: Samples elements and infers common type, returns LIST<inferred_type>.",
  "examples": [
    "apple|banana|cherry",
    "1|2|3|4|5"
  ],
  "pattern": "^[^|]+(\\|[^|]+)*$",
  "title": "Pipe-Separated Values",
  "type": "string"
}

Examples

apple|banana|cherry1|2|3|4|5

Also known as

pipe_list

Types in container