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

SQL查询不能使用NOT LIKE来获取结果

  •  0
  • MNM  · 技术社区  · 4 年前

    我从SQL开始,尝试执行一个查询,该查询将选择所有唯一的事件名,并且在event_name列的值中没有'TODAY-xxxxxxx'。我有一个查询,可以很好地从表中获取唯一的值,但是我不能让NOT-LIKE正常工作。

    例如,我要删除所有将此作为其名称的项目TODAY-20191021末尾的数据可以更改,但所有项目的TODAY都在日期之前

    SELECT DISTINCT event_name, COUNT(*)
    FROM events 
    GROUP BY event_name
    Having COUNT(*) > 100.
    

    运行查询时出错:列“TODAY-%”不存在行3:其中事件名称与“TODAY-%”不同^

    这就是我目前所拥有的

    SELECT DISTINCT event_name, COUNT(*)
    FROM events 
    WHERE event_name NOT LIKE "TODAY%"
    GROUP BY event_name
    Having COUNT(*) > 100.
    
    1 回复  |  直到 4 年前
        1
  •  1
  •   GMB    4 年前

    在这里:

    WHERE event_name NOT LIKE "TODAY%"
    

    由于使用双引号,数据库将此字符串视为标识符(这里是列名)。相反,您需要使用单引号,表示文字字符串:

    WHERE event_name NOT LIKE 'TODAY%'