首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL命令,用于说明搜索条件的数量可能有所不同的情况。

问SQL命令,用于说明搜索条件的数量可能有所不同的情况。
EN

Stack Overflow用户
提问于 2022-04-04 14:16:47
回答 1查看 37关注 0票数 -3

因此,我有一个在mysql数据库上实现搜索操作的React前端。而对于搜索操作,它可以以4个条件(id,名称,发票,张贴)作为输入。但是,用户需要为所有4种条件提供值是不必要的。用户可以在1-4条件之间的任何地方给出值。

我无法完全理解mysql命令来执行此操作。有人能帮我用'like‘操作符写这个命令吗?

假设用户只为搜索提供id。使用该id的所有行都应该显示。如果用户同时给出id和name,那么与该id和该名称相匹配的行应该显示等等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-04 16:13:48

如果搜索项是空字符串,则可以使用LIKE和%编写查询,以接受任何值。

代码语言:javascript
复制
SELECT * FROM myTable
WHERE
id LIKE '%search_variable_one%', 
AND name LIKE '%search_variable_two%',
AND invoice LIKE '%search_variable_three%',
AND posting LIKE '%search_variable_four%';

因此,如果任何变量为空,则查询将接受任何值。

这可能会使搜索范围变宽,因为您将返回包含搜索字符串的所有值。

您还可以按以下方式编写您的WHERE

代码语言:javascript
复制
WHERE ( name LIKE 'search_variable_one' OR 'search_variable_one' = '')

因此,如果search_variable_one是一个空字符串,我们接受名称的所有值,但是如果它包含一个值,则搜索确切的值。这取决于你想怎么搜索。

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

https://stackoverflow.com/questions/71738807

复制
相关文章

相似问题

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