首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能在句子中得到准确的单词?

我怎样才能在句子中得到准确的单词?
EN

Stack Overflow用户
提问于 2019-07-09 17:28:13
回答 1查看 80关注 0票数 2

如果执行此查询,将搜索包含以下内容的字段:

水,焦炭,7升

可乐,水,7升

所以,即使参数是用大写字母写的,我也想返回这些项,为此,我使用这个@Query

代码语言:javascript
复制
@Query("SELECT * from drinksList WHERE list LIKE '%'||:name||'%'")

我遗漏了什么?

编辑

现在我使用的是LIKE %param%,但问题是如果表是这样的:

水,焦炭,7升

可乐,水,7升

Waterg3d,焦炭,7升

焦炭,water23,7升

我想找一个“水”,它会显示所有这些记录,我只想找到“水”这个词,不管它是小写还是大写。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-09 17:41:04

下列措施应能发挥作用:

代码语言:javascript
复制
@Query("SELECT * from drinksList WHERE list||',' LIKE '%'||:name||',%' OR list||',' LIKE :name||',%'")

这是基于/测试了以下方法:-

代码语言:javascript
复制
DROP TABLE IF EXISTS DrinksList;
CREATE TABLE IF NOT EXISTS DrinksList (list TEXT UNIQUE NOT NULL);
INSERT INTO DrinksList VALUES
    ('Water, spicy, coke'),             -- Should be found when searching for water
    ('Coke'),                           -- will not be found when seraching for water
    ('Spicy, water, coke'),             -- Should be found
    ('Coke, spicy, water'),             -- Should be found
    ('wateria, spicyer, cokeer'),       -- should not be found
    ('Water, coke, 7up'),               -- should be found
    ('Coke, waterera, 7up'),            -- should not be found
    ('Waterg3d, coke, 7up'),            -- should not be found
    ('Coke, water23, 7up')              -- should not be found
    ;
SELECT * from drinkslist WHERE list||',' LIKE '%'||'water'||',%' OR list||',' LIKE 'water'||',%';

结果:-

上述各项均经测试,并在室内运作如下:

所有列表显示:-

在编辑文本中输入wAtER并单击选择按钮,结果为:-

输入7Up :-

诸若此类。

查询如下:

代码语言:javascript
复制
@Query("SELECT * FROM DrinkList WHERE list||',' LIKE '%'||:name||',%' OR list||',' LIKE :name||',%'")
List<DrinkList> getSelectiveDrinks(String name);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56957820

复制
相关文章

相似问题

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