编写 S3 Select 查询以排除回车 return(\r) 行

Write a S3 Select query to exclude a carriage return(\r) rows

我有一个 csv 列,其中包含带 \r 字符的数据。如何编写查询来消除此类数据

SELECT rv FROM s3object s

这给了我:

我不想要这样的行。想全部消灭

这个查询仍然returns我得到相同的结果

SELECT rv FROM s3object s where rv!='\r'

您的文件每行末尾都有 0x0d 0x0a (CR LF)。这通常由 Windows 软件生成。

似乎 S3 Select 不知道如何处理组合,因此 \r 被视为最后一个字段的一部分。

您可以通过忽略最后一个字段的最后一个字符来'fix':

SELECT
  SUBSTRING(rv FROM 1 FOR CHAR_LENGTH(rv) - 1) AS rv
FROM s3object s
WHERE char_length(rv) > 1 -- Optional