用雪花替换文件中的所有逗号

replace all comma by dot in file with snowflake

是否可以使用 snowflake 将 csv 文件中的所有逗号替换为点? 我在 copy into 中使用替换,但这导致编写大量行编码,我想找到一个直接替换所有逗号的过程。

是否可以在 csv 文件的每一列上循环并像这样替换逗号?

DECLARE ColNames NVARCHAR(MAX) = ''
SELECT @ColNames = (@ColNames +)
    CASE
        WHEN c.DATA_TYPE IN ('DECIMAL') THEN REPLACE(c.DATA_VALUE, ',','.')
        ELSE c.DATA_VALUE
    END

我暂时使用了这个代码,但它不起作用

copy into PUBLIC.VENTE from (select replace(c.*,',','.') from @test_database/file.csv c);

在此先感谢您的帮助,

您不能对所有列进行替换(c.*,',','.'),它必须逐列进行,如下所示:

replace(c., ',', '.'), replace(c., ',', '.') ...

或者,如果列号很大并且您需要经常使用它,您可以创建一个 SP 来为您构建列列表。