在我的移动表中,我必须匹配所有包含单词的描述值:'depósito'
。
它应该不区分大小写并且忽略变音符号,因为可以是:
Deposito
DEPOSITO
deposito
DEPÓSITO
etc,在description
句子的任何部分。
我该怎么做?
最佳答案
不区分大小写很容易,通过使用正则表达式匹配运算符 ~*
(而不是 ~
)。
说到变音符号,我不确定是否有标准方法。您可能需要列出变化。
此外,由于您正在搜索整个单词,因此最好使用单词边界来分隔它:\y
或 \\y
取决于数据库设置 standard_conforming_strings
已关闭。
考虑:
description ~* '\ydep[oó]sito\y'
关于变音符号的注意事项:文档提到 an extension called unaccent
可以用来去除重音。安装和设置后,您可以执行以下操作:
unaccent(description) ~* '\ydeposito\y'
关于sql - Postgresql 正则表达式搜索单词不区分大小写并忽略变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58332071/