从数据中查找并删除非打印字符

Find and remove non-printing characters from data

如果进行以下查询,我希望这两个记录都为 return。但是我只找回了第二条记录。

WITH students_results(student_id, result) AS (VALUES
(1,  '️सिनेमा'  ),
(2, 'सिनेमा'))
SELECT
    student_id,
    result
FROM students_results
where result = 'सिनेमा'

第一条记录的开头是非打印 unicode \ufe0f

如何从数据中查找和删除此类字符?

这就是您找到此类数据的方式。

WITH students_results(student_id, result) AS (VALUES
 (1, '️सिनेमा'),
 (2, 'सिनेमा')
)
SELECT student_id
FROM students_results
WHERE char2hexint(result) like '%FE0F%'

至于删除它,这不是 Athena 的目的。正如您可能知道的那样,它是一种分析,而不是 ETL 服务。我建议使用 AWS Glue 清理您的数据,如果适用于您的用例,甚至可以在本地清理。