我是数据库编程的新手,我正在尝试使用LIKE在数据库中搜索字符串。
当我搜索小说时,非小说类书籍也会出现。如果关键字是Fiction,我该怎么做才能只显示Fiction行?
注意:我必须被允许不仅可以搜索小说和非小说,而且还可以搜索ISBN,书名从文本框中。
发布于 2015-01-27 19:41:02
看起来你很困惑如何使用LIKE查询,请检查下面的例子:
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]请更改合适的字段名称和表名。
希望上面的内容能有所帮助。
发布于 2015-01-27 20:09:28
请参考下面的内容,link.It将帮助您获得更多关于的知识,如语句。
Use of LIKE query using SQL
对于以"Fiction“开头的搜索bookname,您必须使用query,如下所述。
SELECT * FROM books WHERE bookname LIKE 'Fiction%';发布于 2015-01-28 03:32:43
你应该能够通过包含和排除来做一些事情:
SELECT * FROM Books WHERE BookName LIKE 'Fiction%' and BookName NOT LIKE '%Non-Fiction%'根据您所说的文本框,其中的文本输入可以代表任何字段,假设您传递了一个参数,您应该能够执行以下操作:
SELECT * FROM Books
WHERE BookName LIKE '%' + @Input + '%'
OR ISBN LIKE '%' + @Input + '%'
OR BookType LIKE '%' + @Input + '%' OR etc...显然,如果您只是使用相同的搜索框来查找属于“小说”的书籍,这将为您带来一本名为“奇怪的小说”的书。在这种情况下,您可能需要考虑多个搜索框。
https://stackoverflow.com/questions/28169420
复制相似问题