postgresql - 规范化 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')
推荐阅读
- java - 这应该在数组中获取图像并在将其打印到框架之前调整其大小
- javascript - 如何在 React Native 中无限旋转图像
- java - 从模拟返回不同的值,具体取决于参数
- python - 套接字io中的while循环
- c# - 在 C# 中将文件上传到共享点期间出现异常
- centos - 从 intel oneapi basetoolkit 安装 ICC 时出现许可证文件问题
- kubernetes - Kubernetes 安全上下文
- python - Heroku 无法识别迁移
- python - 从模Python返回值时如何保持前导零
- javascript - event.key 空格键工作不正确