【发布时间】:2020-07-23 20:28:51
【问题描述】:
我有下面显示的代码。十进制字符是“.”。我想把它改成“,”。我试图使用替换,但它不起作用。 你能给我推荐一个替代方案吗?
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
谢谢。
【问题讨论】:
-
我删除了不一致的数据库标签。请仅使用您正在使用的数据库进行标记。但是,我确实认为问题出在您使用的 GUI 中。逗号和句点都不用于存储十进制值;他们使用内部格式。
-
如果这是 Postgres,请使用
to_char()将数字格式化为可识别区域设置的十进制字符。 -
这是一个格式问题,应该在客户端应用程序中处理,而不是在 SQL 中。
标签: sql