首页 > 解决方案 > 用逗号替换点 SQL

问题描述

我有下面提供的代码。十进制字符是“.”。我想把它改成“,”。我试图使用替换,但它不起作用。你能给我一个替代方案吗?

SELECT
,CASE WHEN t1."EID"='10' THEN cast(t1."PAYVal" as decimal(12,2)) ELSE cast(t1."PAYVal"*t2."EXCValue"  as decimal(12,2)) END as plata_LEI
 ,CASE WHEN t1."EID"='2' 
        THEN cast(t1."PAYVal" as decimal(12,2))
      ELSE CASE WHEN t1."EID"='10' THEN cast(t1."PAYVal"/t3."EXCValue"  as decimal(12,2))
           ELSE cast(t1."PAYVal"*t2."EXCValue"/t3."EXCValue" as decimal(12,2))
           END 
    END as plata_EUR

谢谢。

标签: sql

解决方案


您不能使用替换功能,因为您将其类型转换为十进制。您需要再次将结果输入到文本中并使用如下替换功能,

replace((CASE WHEN t1."EID"='10' THEN cast(t1."PAYVal" as decimal(12,2)) ELSE 
cast(t1."PAYVal"*t2."EXCValue"  as decimal(12,2)) END)::text, '.', ',') as plata_LEI

推荐阅读