finance.currency.amount_eu_suffixEuropean 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.
$ finetype infer -i "1.234,56 €"
→ finance.currency.amount_eu_suffixSELECT finetype('1.234,56 €');
-- → 'finance.currency.amount_eu_suffix'CAST(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE({col}, '[€$£¥₹₩₿\p{Sc}]', '', 'g'), '\s+', '', 'g'), '\.', '', 'g'), ',', '.') AS DECIMAL(18,2))-- 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';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*$'){
"$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))"
}1.234,56 €999,99 €-1.234,56 €0,50 €10.000,00 €