Meridianmeridian

Currency Amount (EU Suffix)

finance.currency.amount_eu_suffix

European format with currency symbol as suffix. Period for thousands, comma for decimal, symbol after amount with optional space. CLDR default for Germany, France, Spain, Italy, Netherlands.

Domain
finance
Category
currency
Casts to
VARCHAR
Scope
Universal

Try it

CLI
$ finetype infer -i "1.234,56 €"
→ finance.currency.amount_eu_suffix

DuckDB

Detect
SELECT finetype('1.234,56 €');
-- → 'finance.currency.amount_eu_suffix'
Cast expression
CAST(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE({col}, '[€$£¥₹₩₿\p{Sc}]', '', 'g'), '\s+', '', 'g'), '\.', '', 'g'), ',', '.') AS DECIMAL(18,2))
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) = 'finance.currency.amount_eu_suffix';

Struct Expansion

Expression
numeric_value: CAST(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE({col}, '[€$£¥₹₩₿\p{Sc}]', '', 'g'), '\s+', '', 'g'), '\.', '', 'g'), ',', '.') AS DECIMAL(18,2))
symbol: REGEXP_EXTRACT({col}, '([€$£¥₹₩₿\p{Sc}]+)\s*$')

JSON Schema

finetype schema finance.currency.amount_eu_suffix
{
  "$id": "https://meridian.online/schemas/finance.currency.amount_eu_suffix",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "European format with currency symbol as suffix. Period for thousands, comma for decimal, symbol after amount with optional space. CLDR default for Germany, France, Spain, Italy, Netherlands.",
  "examples": [
    "1.234,56 €",
    "999,99 €",
    "-1.234,56 €",
    "0,50 €",
    "10.000,00 €"
  ],
  "pattern": "^-?[0-9]{1,3}(\\.[0-9]{3})*(,[0-9]{1,2})?\\s?[€$£¥₹₩₿\\p{Sc}]$",
  "title": "Currency Amount (EU Suffix)",
  "type": "string",
  "x-finetype-broad-type": "VARCHAR",
  "x-finetype-transform": "CAST(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE({col}, '[€$£¥₹₩₿\\p{Sc}]', '', 'g'), '\\s+', '', 'g'), '\\.', '', 'g'), ',', '.') AS DECIMAL(18,2))"
}

Examples

1.234,56 €999,99 €-1.234,56 €0,50 €10.000,00 €

Aliases

eu_suffix