unaccent
是一个提供过滤字典以去除单词重音的Contrib 模块。
unaccent
在 PostgreSQL 9.0 中添加。
用法
unaccent
提供了一个单一函数,unaccent()
,在默认安装中,它可以用于根据拉丁字母表去除许多欧洲语言中常见的重音(变音符号)。
unaccent
基于 PostgreSQL 内置的全文搜索实现,并且扩展创建了一个文本搜索模板和字典。这也使得提供自定义的去重音规则成为可能;有关更多详细信息,请参阅文档。
内置函数to_ascii()
提供了一个更简单且更有限的等效项。
更改历史记录
- PostgreSQL 17
- 添加了对带引号的翻译字符的支持(59f47fb9)
- PostgreSQL 13
- PostgreSQL 11
- 添加了越南语字符处理(提交 ec0a69e4)
- PostgreSQL 9.0
- 添加(提交 92e05bc6)
示例
创建扩展
postgres=# CREATE EXTENSION unaccent; CREATE EXTENSION
这将创建一个文本搜索字典“unacccent
”;这里我们假设扩展安装在默认的 public 模式中
postgres=# \dFd public.* List of text search dictionaries Schema | Name | Description --------+----------+------------- public | unaccent | (1 row)
基本用法
postgres=# SELECT unaccent('überbewertete äthiopische Ödnis'); unaccent --------------------------------- uberbewertete athiopische Odnis (1 row)
参考
- PostgreSQL 文档: unaccent