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

How to remove new line characters from data rows in Presto/AWS 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

我怎样才能做到这一点?

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

SELECT
    p.recvepoch, replace(p.description, chr(10), '\n') AS description
FROM
    product p
LIMIT 1000