首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何匹配PostgreSQL中的超级字符串?

如何匹配PostgreSQL中的超级字符串?
EN

Stack Overflow用户
提问于 2022-03-02 04:21:32
回答 1查看 60关注 0票数 1

我有一列词,其元素如下:

代码语言:javascript
运行
复制
id | word
---+---------
1  | cute
2  | advanced
3  | unusual

假设我想对单词“可爱”或“最可爱”进行查询。我想做这样的事情:

代码语言:javascript
运行
复制
SELECT * FROM words WHERE word% LIKE 'cutest'

当然,我意识到这不是有效的SQL语法,但我想匹配一个超级字符串,而不是子字符串。

我不想使用相似包,因为它将匹配诸如“不可爱”之类的东西,而我只想指定通配符应该放在字段的末尾。

这能在Postgres实现吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-02 04:43:09

模式在LIKE的右边。所以:

代码语言:javascript
运行
复制
SELECT * FROM words
WHERE 'cutest' LIKE word || '%'
AND    word Like 'cute%';

我添加了另一个WHERE条件,以消除‘削减’或只是'c‘这样的单词中的假阳性。而且,这可以(而且通常会)仍然使用索引,而表达式'cutest' LIKE word || '%'绝对不能。

请注意,‘可爱’并不符合条件。你的问题有点矛盾。

请参见:

要将你的单词中的特殊字符视为非特殊字符,你必须相应地转义。请参见:

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

https://stackoverflow.com/questions/71317436

复制
相关文章

相似问题

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