用雪花替换文件中的所有逗号
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 来为您构建列列表。
是否可以使用 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 来为您构建列列表。