postgresql如何在有和没有句点的搜索词中搜索某个字段

时间:2017-09-21 20:08:37

标签: postgresql

用户在应用程序中输入搜索词,然后查看特定字段。他们不希望得到错误的匹配,即如果搜索词是“特朗普”,他们不想在结果中找到“小号”。所以我确保在搜索词的任何一侧都有一个空格,如下所示:SELECT * FROM TABLE WHERE description~ *'trump'。这很好,但现在他们希望能够在句子结尾处找到结果,即特朗普。我可以只用一个句点来包含搜索词,但接下来他们想要的是额外的标点符号即!,?,所以我的问题是,是否有一种优雅的方式来进行这种搜索,或者添加所有可能性使用OR语句是唯一的选择吗?

1 个答案:

答案 0 :(得分:0)

您的示例如下所示:

WHERE description ~* ' trump[.?! ]'

如果你想搜索一些额外的字符(即@),只需将它们添加到括号内。 就像Joe建议你可能想看一下正则表达式模式匹配。