如何从 Presto/AWS Athena 的数据行中删除换行符?

cri*_*oms 4 sql replace amazon-web-services presto amazon-athena

我在 Athena (Presto SAS) 上查询一些表,然后下载生成的 CSV 文件以在本地使用。打开文件,我意识到数据包含未出现在 AWS 界面上的换行符,只出现在 CSV 中,需要删除它们。尝试使用该函数replace(string, search, replace) ? varchar跳过换行符替换\n\\n但没有成功:

SELECT
    p.recvepoch, replace(p.description, '\n', '\\n') AS description
FROM
    product p
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

cri*_*oms 6

问题在于底层表数据实际上并不包含\n任何地方,而是包含实际的换行符,由char(10). 我能够使用replace将其作为参数传递的函数来实现预期的行为:

SELECT
    p.recvepoch, replace(p.description, chr(10), '\n') AS description
FROM
    product p
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)