使用 ETL 和 SQL 将数字读写到 .txt

Read&Write Numbers to .txt using ETL and SQL

我正在从 .xls 文件编写 .txt。 我正在使用 JasperETL 读取 excel 并将数据插入 MSSQL,然后写入 .txt 文件。

在 excel 文件中,我有一个数字(金额),看起来像这样 20.000,00 但有时,由于区域设置,该数字被导入 SQL作为 20,000.00(分隔符倒转 - ,变为 . 并且 . 变为 ,)。

我的最终格式需要像这样 20000.00 为此,我在 MSSQL.

中使用了 REPLACE 函数

有什么方法可以使用 T-SQL 查询来解决这个问题吗?

我一直在考虑使用旧方法并为每种可能的格式制作 CASES,就像这样。

CASE WHEN sum like 'x.xxx,xx' THEN...
WHEN sum like 'x,xxx.xx' THEN...

但我也在寻找替代品。

提前致谢,

我实际上已经通过 SQL 查询

解决了这个问题

如果有人和我一样,这里是答案

CASE WHEN CHARINDEX('.',@test) > CHARINDEX(',',@test) THEN REPLACE(@test,',','')
WHEN CHARINDEX('.',@test) < CHARINDEX(',',@test) THEN REPLACE(REPLACE(@test,'.',''),',','.')

Replace @test with your column