MySQL日期= CURDATE()不适用于2个类似条件

时间:2019-03-05 17:40:46

标签: mysql

我正在尝试运行一个SQL查询,以根据当前日期和两个类似条件来过滤数据,此代码的问题是它向我显示了所有日期的数据

如果我只在一个类似条件下运行代码,它将正常工作

SELECT * FROM `attendance` WHERE date = CURDATE() and Teamname LIKE '%SOUQ%'

但是下面的代码不能正常工作(给出所有日期的结果)

SELECT * FROM `attendance` WHERE date = CURDATE() and TeamName LIKE '%NOON%' OR Teamname LIKE '%SOUQ%'

请在这里告诉我我做错了什么。

1 个答案:

答案 0 :(得分:0)

您需要在()(...或...)周围加上(),AND运算符的优先级高于or运算符

  SELECT * FROM `attendance` 
    WHERE date = CURDATE() 
    and ( TeamName LIKE '%NOON%' OR Teamname LIKE '%SOUQ%') 

如果您不使用(),则代码也相等

  WHERE(  date = CURDATE() 
    and  TeamName LIKE '%NOON%' ) 
  OR Teamname LIKE '%SOUQ%')