我的 table 包含一个列名标题。我想 sql 从标题栏中搜索过滤器男性和女性

My table contains a column name title. I want to sql search filter male and female from title column

我有一个sql数据库table命名法。其中有一个列名标题。我想使用 LIKE 查询来实现搜索操作。但是当我从标题栏中搜索男性时,它也是 returns 女性。一件事要通知我的标题列包含多个单词。但我不想看到那些包含女性词的行。我对 LIKE 参数使用了通配符。

SELECT * FROM `laws` WHERE title LIKE "male"

问题是你需要像我读到的那样使用你需要使用:

SELECT * FROM law WHERE title = 'male';

您是否需要像我一样使用:

SELECT * FROM law WHERE title like 'male%';

当然,如果您要查找以下记录:男性,年龄 25。

您需要在文本中包含男性并明确排除女性。

如果你想要第二行,你需要更复杂的查询

CREATE TABLE laws (title varchar(50))
INSERT INTO laws VALUEs ('Only for male partitipents'),('male and female partitipents'),('No more female partitipents in this law')
SELECT * FROM `laws` WHERE title LIKE '%male%' AND title NOT LIKE  '%female%'
| title                      |
| :------------------------- |
| Only for male partitipents |

db<>fiddle here