从 Snowflake 中的字符串中删除变音符号

Remove Diacritics from string in Snowflake

我想使用 Snowflake SQL 从字符串列中删除所有变音符号。 例如:ä, ö, é, č => a, o e, c

我承认 TRANSLATE 函数可以工作,但仅适用于单个大小写,而有很多带有重音符号的字母需要翻译。

你能给我一些提示吗? 非常感谢, 韩

也许确保它涵盖所有这些的最安全方法是在 ES2015/ES6 中起草作品以涵盖所有字符,如下所示:

create or replace function REPLACE_DIACRITICS("str" string)
returns string
language javascript
strict immutable
as
$$
    return str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
$$;

select REPLACE_DIACRITICS('ö, é, č => a, o e, c');

UDF 的 JS 由 post 提供: Remove accents/diacritics in a string in JavaScript