规范化 postgresql 表中的文本字段的最简单方法是什么?
我正在尝试查找重复项。例如,我想将 O'Reilly 视为 oreilly 的副本。La Salle 也应该是 la'salle 的副本。
简而言之,我们想要
- 小写所有文本,
- 带口音
- 剥离标点符号,例如这些
[.'-_]
和 - 剥离空间
这一切都可以通过一两个简单的步骤完成吗?理想情况下使用内置的 postgresql 函数。
干杯
规范化 postgresql 表中的文本字段的最简单方法是什么?
我正在尝试查找重复项。例如,我想将 O'Reilly 视为 oreilly 的副本。La Salle 也应该是 la'salle 的副本。
简而言之,我们想要
[.'-_]
和这一切都可以通过一两个简单的步骤完成吗?理想情况下使用内置的 postgresql 函数。
干杯
下面将给你你想要的,只使用标准的 Postgres 函数;
regexp_replace (lower(unaccent(string_in)),'[^0-9a-z]','','g')
请参见此处的示例。或者如果你不想要数字只是
regexp_replace (lower(unaccent(string_in)),'[^a-z]','','g')