首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Knex.js查询中使用unaccent postgres扩展

在Knex.js查询中使用unaccent postgres扩展
EN

Stack Overflow用户
提问于 2020-11-27 04:52:05
回答 1查看 77关注 0票数 0

我需要查询一个没有标识重音(á、í、ö等)的postgresdb。

我已经使用Knex.js作为查询构建器,而且postgresql有一个unaccent扩展,它在直接到数据库sql查询中工作得很好,但在我的代码中,我使用了knex和unaccent函数在查询中抛出错误。

有没有人可以帮我,可以用PostgreSQL语言的无重音功能用knex.js进行查询?

EN

回答 1

Stack Overflow用户

发布于 2021-07-24 15:45:22

我的解决方案是在提交查询之前使用以下代码处理字符串:

代码语言:javascript
复制
const normalize = (str) => str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
console.log(normalize('Ấ Á Ắ Ạ Ê')) -> 'A A A A A'.

或者,如果您使用postgresql版本13或更高版本,它已经支持该功能。

代码语言:javascript
复制
select normalize('hồ, phố, ầ', NFC) → 'ho, pho, a' -- NFC (the default), NFD, NFKC, or NFKD.

文档:https://www.postgresql.org/docs/13/functions-string.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65029085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档