gpt4 book ai didi

sql - 使用表作为输入来查询子字符串

转载 作者:行者123 更新时间:2023-11-29 13:01:07 27 4
gpt4 key购买 nike

我在 PostgreSQL 中有一个大的单词表,其中有一个操作映射到一个数字,如果单词匹配,它应该执行该操作。例如:

  words_table
words | operation
-----------------
fox | 1
brown | 2
cow | 1
moo | 3
...

我希望能够提供一个字符串并查看表中的哪些操作是输入的子字符串,忽略大小写。例如,两个输入字符串:

How brown are your cows and foxes?
Howbrownareyourcowsandfoxes?

将返回 1, 2。这对我来说是一个不寻常的问题,因为我想使用单词表作为数据的“输入”。我意识到此操作将导致全表扫描,并且我需要对 operations 进行联合/区分,但我不知道如何开始我的查询/子查询(我会想象一下我必须在某处使用 CONTAINS/LIKE 子查询)让表成为检查子字符串的输入。

任何制定 SQL 语句或策略的帮助都将不胜感激。

最佳答案

因为您不是在处理单词(定界字符串),所以全文索引没有用处。您也许可以使用 ngrams 取得一些进展。

基本查询是

select distinct wt.operation
from words_table wt
where YOURSTRING like '%' || wt.words || '%';

关于sql - 使用表作为输入来查询子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29810208/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com