Postgres 中值的正确格式

Proper formatting of values in Postgres

我在 postgres 的专栏中有值,我需要帮助以正确转换为我的 etl 的一部分

示例数据

    Amount
,000.00
.000,00
0.000,00
,234,567.40

如您所见,第一行和最后一行的格式正确。这是我到目前为止所做的

 SELECT
        amount,
        CAST(LEFT(amount, strpos(amount, '.')-1) || ',' || SUBSTRING(amount,(strpos(amount, '.')+1),3) || '.' || SUBSTRING(amount,(strpos(amount, ',')-1),2) AS varchar) AS Formattedstring1
        
    FROM AmountTAable

我没有得到像

这样的正确结果
  Amount
,000.00
,000.00
0,000.00
,234,567.40

请帮忙修改格式,谢谢

你能试试下面的方法吗:

select cast(Replace(Replace(Replace(Amount,',',''),'.',''),'$','')::decimal(18,2)/100 as money) as Amount
from t

Example fiddle