代码之家  ›  专栏  ›  技术社区  ›  Jon

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

  •  -1
  • Jon  · 技术社区  · 9 年前

    我有桌子 比赛 使用这些列:

    |sport|region|country|league 
    
    1. 如果的输入字符串 运动 是空的,我想退还所有东西,不必为匹配的地区、国家等烦恼。

    2. 如果 运动 不为空,然后查找具有匹配运动的行并继续 区域 然后做同样的事情。

    在SQL中可以这样做吗?我知道我可以在PHP中过滤掉这些内容,然后运行不同的SQL查询。

    2 回复  |  直到 9 年前
        1
  •  0
  •   Robert Kock    9 年前

    试试这个

    WHERE (sport_param IS NULL OR sport_column = sport_param)
    

    您可能想使用 LIKE 操作员或考虑不区分大小写的检查,而不是简单地比较精确的运动。

        2
  •  0
  •   товіаѕ    9 年前

    看看吧 this …您基本上可以在SQL中生成一个if语句来匹配sport是否为空,并根据这一点执行两个不同的查询。