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