首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用LIKE修复搜索查询

如何使用LIKE修复搜索查询
EN

Stack Overflow用户
提问于 2015-01-27 19:29:24
回答 3查看 197关注 0票数 0

我是数据库编程的新手,我正在尝试使用LIKE在数据库中搜索字符串。

当我搜索小说时,非小说类书籍也会出现。如果关键字是Fiction,我该怎么做才能只显示Fiction行?

注意:我必须被允许不仅可以搜索小说和非小说,而且还可以搜索ISBN,书名从文本框中。

EN

回答 3

Stack Overflow用户

发布于 2015-01-27 19:41:02

看起来你很困惑如何使用LIKE查询,请检查下面的例子:

代码语言:javascript
复制
1 - SELECT * FROM books WHERE bookname LIKE 's%'; [It will return all books which starts from letter "S" in bookname]

2 - SELECT * FROM books WHERE bookname LIKE '%s'; [It will return all books which ending with letter "S" in bookname]

3 - SELECT * FROM books WHERE bookname LIKE '%Fiction%'; [It will return all books which contains letters "Fiction" in bookname]

4 - SELECT * FROM books WHERE bookname NOT LIKE '%Non%'; [It will return all books which not containing "Non" in bookname]

请更改合适的字段名称和表名。

希望上面的内容能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-01-27 20:09:28

请参考下面的内容,link.It将帮助您获得更多关于的知识,如语句。

Use of LIKE query using SQL

对于以"Fiction“开头的搜索bookname,您必须使用query,如下所述。

代码语言:javascript
复制
SELECT * FROM books WHERE bookname LIKE 'Fiction%';
票数 0
EN

Stack Overflow用户

发布于 2015-01-28 03:32:43

你应该能够通过包含和排除来做一些事情:

代码语言:javascript
复制
SELECT * FROM Books WHERE BookName LIKE 'Fiction%' and BookName NOT LIKE '%Non-Fiction%'

根据您所说的文本框,其中的文本输入可以代表任何字段,假设您传递了一个参数,您应该能够执行以下操作:

代码语言:javascript
复制
SELECT * FROM Books 
WHERE BookName LIKE '%' + @Input + '%'
OR ISBN LIKE '%' + @Input + '%' 
OR BookType LIKE '%' + @Input + '%' OR etc...

显然,如果您只是使用相同的搜索框来查找属于“小说”的书籍,这将为您带来一本名为“奇怪的小说”的书。在这种情况下,您可能需要考虑多个搜索框。

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

https://stackoverflow.com/questions/28169420

复制
相关文章

相似问题

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