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

[水,可乐,7up]

[可乐,水,7点以上]

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

@Query("SELECT * from drinksList WHERE list LIKE '%'||:name||'%'")

我想念什么?

编辑

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

[水,可乐,7up]

[可乐,waterera,7up]

[Waterg3d,可乐,7up]

[可乐,water23、7up]

我想找到可以显示所有这些记录的“水”,而我只想找到“水”这个词是小写还是大写都没有关系。

最佳答案

以下应该工作:

@Query("SELECT * from drinksList WHERE list||',' LIKE '%'||:name||',%' OR list||',' LIKE :name||',%'")

基于/使用以下方法进行了测试:
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'||',%';

导致 :-

java - 如何获得句子中的确切单词-LMLPHP

上面已经过测试,并且可以按照以下说明在房间内工作:

所有列表显示:-

java - 如何获得句子中的确切单词-LMLPHP

在编辑文本中输入,然后单击“选择”按钮将导致:-

java - 如何获得句子中的确切单词-LMLPHP

输入 7上:-

java - 如何获得句子中的确切单词-LMLPHP

等等。

查询是:
@Query("SELECT * FROM DrinkList WHERE list||',' LIKE '%'||:name||',%' OR list||',' LIKE :name||',%'")
List<DrinkList> getSelectiveDrinks(String name);

10-08 03:40