MeridianMERIDIAN

currency

14 currency types: 4 a sibling also accepts, 1 of which it would misread, 12 that decompose into parts.

14 types

The 14 currency types

Each type's first registry sample, against every sibling's rule

TypeSampleAlso accepted by
$1,234.56amount_accounting
Currency Amount (US Accounting)
amount_accounting · VARCHAR
$1,234.56amount
Currency Amount (EU Suffix)
amount_comma_suffix · VARCHAR
1.234,56 €amount_comma
Currency Amount (Zero-Decimal Currency)
amount_nodecimal · VARCHAR
¥1,234amount → 1234.00
Currency Amount (Swiss Apostrophe)
amount_apostrophe · VARCHAR
CHF 1'234.56—
Currency Amount (ISO Code Prefix)
amount_code_prefix · VARCHAR
USD 1,234.56—
Currency Amount (EU Format)
amount_comma · DECIMAL
€1.234,56—
Currency Amount (Cryptocurrency)
amount_crypto · VARCHAR
0.00123456 BTC—
₹12,34,567.89—
R$ 1.234,56—
Currency Amount (Trailing Negative)
amount_neg_trailing · VARCHAR
$1,234.56-—
1 234,56 €—
Currency Code (ISO 4217)
currency_code · VARCHAR
USD—
Currency Symbol
currency_symbol · VARCHAR
$—

Which currency type is it?

2 of 14 currency types accept it, and read it alike.

Currency Code (ISO 4217) carries no pattern or format, so it has no rule to ask.

TypeReads it as
Currency Amount (US Format) amount1234.56
Currency Amount (US Accounting) amount_accounting1234.56

Use it

CLI · DuckDB
$ printf '%s\n' '$1,234.56' '-$999.99' > column.txt
$ finetype infer -f column.txt --mode column

SELECT ft_profile(v) FROM (VALUES ('$1,234.56'), ('-$999.99')) t(v);

After -$999.99, one type remains: amount.

Type Registry