dtcs 0.12.0

Reference implementation of the Data Transformation Contract Standard (DTCS)
Documentation
id: "dtcs:stdlib.functions"
version: "2.0.0"
governingSpecification: "2.0.0"
publicationStatus: "standard"
entries:
  dtcs:lower:
    name: "Lower"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string"],"returnType":"string","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:upper:
    name: "Upper"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string"],"returnType":"string","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:concat:
    name: "Concat"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["string"],"returnType":"string","returnNullable":false,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:concat_ws:
    name: "Concat With Separator"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["string"],"returnType":"string","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:substr:
    name: "Substring"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":3,"argTypes":["string","integer"],"returnType":"string","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:replace:
    name: "Replace"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":3,"maxArgs":3,"argTypes":["string"],"returnType":"string","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:coalesce:
    name: "Coalesce"
    category: "function"
    version: "2.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":null,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":true,"nullBehavior":"defined","semantics":"firstPresent"}
  dtcs:if_null:
    name: "If Null"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":true,"nullBehavior":"defined"}
  dtcs:null_if:
    name: "Null If"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":true,"nullBehavior":"defined"}
  dtcs:case_when:
    name: "Case When"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["boolean","string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":true,"nullBehavior":"defined"}
  dtcs:try_cast:
    name: "Try Cast"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsTarget","returnNullable":true,"deterministic":true,"nullBehavior":"defined"}
  dtcs:is_invalid:
    name: "Is Invalid"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"boolean","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:length:
    name: "Length"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","binary"],"returnType":"integer","returnNullable":false,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:to_string:
    name: "To String"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"string","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:to_integer:
    name: "To Integer"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","decimal","integer"],"returnType":"integer","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:to_decimal:
    name: "To Decimal"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","decimal","integer"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:abs:
    name: "Absolute"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["integer","decimal"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:round:
    name: "Round"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":2,"argTypes":["decimal","integer"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:floor:
    name: "Floor"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["decimal","integer"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:ceil:
    name: "Ceil"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["decimal","integer"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:power:
    name: "Power"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["decimal","integer"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:sqrt:
    name: "Square Root"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["decimal","integer"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:least:
    name: "Least"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["integer","decimal"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:greatest:
    name: "Greatest"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["integer","decimal"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:min:
    name: "Min"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["integer","decimal"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:max:
    name: "Max"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":null,"argTypes":["integer","decimal"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:contains:
    name: "Contains"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["string"],"returnType":"boolean","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:starts_with:
    name: "Starts With"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["string"],"returnType":"boolean","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:ends_with:
    name: "Ends With"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":2,"maxArgs":2,"argTypes":["string"],"returnType":"boolean","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:is_null:
    name: "Is Null"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"boolean","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:is_missing:
    name: "Is Missing"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"boolean","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:count_all:
    name: "Count All"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"aggregate","minArgs":0,"maxArgs":0,"argTypes":[],"returnType":"integer","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:count:
    name: "Count"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"aggregate","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"integer","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:count_distinct:
    name: "Count Distinct"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"aggregate","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"integer","returnNullable":false,"deterministic":true,"nullBehavior":"defined"}
  dtcs:sum:
    name: "Sum"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"aggregate","minArgs":1,"maxArgs":1,"argTypes":["integer","decimal"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"defined"}
  dtcs:average:
    name: "Average"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"aggregate","minArgs":1,"maxArgs":1,"argTypes":["integer","decimal"],"returnType":"decimal","returnNullable":true,"deterministic":true,"nullBehavior":"defined"}
  dtcs:current_date:
    name: "Current Date"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":0,"maxArgs":0,"argTypes":[],"returnType":"date","returnNullable":false,"deterministic":false,"nullBehavior":"defined","runStable":true,"referenceClock":"2026-01-01"}
  dtcs:current_timestamp:
    name: "Current Timestamp"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":0,"maxArgs":0,"argTypes":[],"returnType":"datetime","returnNullable":false,"deterministic":false,"nullBehavior":"defined","runStable":true,"timezone":"fixedOffset","referenceClock":"2026-01-01T00:00:00Z"}
  dtcs:date_add:
    name: "Date Add"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":2,"maxArgs":3,"argTypes":["date","datetime","integer","string"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":true,"nullBehavior":"propagate","units":["day","month","year","hour","minute"]}
  dtcs:date_diff:
    name: "Date Diff"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":2,"maxArgs":3,"argTypes":["date","datetime","string"],"returnType":"integer","returnNullable":true,"deterministic":true,"nullBehavior":"propagate","units":["day","month","year","hour","minute"]}
  dtcs:date_trunc:
    name: "Date Trunc"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":2,"maxArgs":2,"argTypes":["date","datetime","string"],"returnType":"datetime","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:extract:
    name: "Extract"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":2,"maxArgs":2,"argTypes":["string","date","datetime"],"returnType":"integer","returnNullable":true,"deterministic":true,"nullBehavior":"propagate"}
  dtcs:date_part:
    name: "Date Part"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":2,"maxArgs":2,"argTypes":["string","date","datetime"],"returnType":"integer","returnNullable":true,"deterministic":true,"nullBehavior":"propagate","aliasOf":"dtcs:extract"}
  dtcs:at_timezone:
    name: "At Timezone"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"datetime","minArgs":2,"maxArgs":2,"argTypes":["datetime","string"],"returnType":"datetime","returnNullable":true,"deterministic":true,"nullBehavior":"propagate","timezone":"fixedOffset"}
  dtcs:row_number:
    name: "Row Number"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":0,"maxArgs":0,"argTypes":[],"returnType":"integer","returnNullable":false,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}
  dtcs:rank:
    name: "Rank"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":0,"maxArgs":0,"argTypes":[],"returnType":"integer","returnNullable":false,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}
  dtcs:dense_rank:
    name: "Dense Rank"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":0,"maxArgs":0,"argTypes":[],"returnType":"integer","returnNullable":false,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}
  dtcs:lag:
    name: "Lag"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":1,"maxArgs":3,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}
  dtcs:lead:
    name: "Lead"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":1,"maxArgs":3,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}
  dtcs:first_value:
    name: "First Value"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}
  dtcs:last_value:
    name: "Last Value"
    category: "function"
    version: "1.0.0"
    status: "standard"
    definition: |
      {"kind":"function","family":"window","minArgs":1,"maxArgs":1,"argTypes":["string","integer","decimal","boolean","date","time","datetime","duration","binary"],"returnType":"sameAsArgs","returnNullable":true,"deterministic":false,"nullBehavior":"defined","profile":"dtcs:profile/portable-window/1"}