SQL - 如果输入字符串为空 return 所有行,否则尝试匹配

SQL - If input string is empty return all rows , otherwise try to match

我有 table 匹配项 与这些列:

|sport|region|country|league 
  1. 如果 sport 的输入字符串是空的,我想 return 一切,不要为匹配的地区、国家等而烦恼

  2. 如果 sport 不为空,则查找具有匹配运动的行并继续到 region 并执行相同的操作.

这可以在 SQL 中完成吗?我知道我可以在 PHP 中过滤掉它,然后 运行 不同的 SQL 查询。

试试这个

WHERE (sport_param IS NULL OR sport_column = sport_param)

您可能想要使用 LIKE 运算符或考虑不区分大小写的检查,而不是简单地比较确切的运动。

看看this ...你基本上可以在 SQL 中做一个 if 语句来匹配 sport 是否为空,并根据它执行两个不同的查询。