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

用于检查前缀、后缀或完整值的sql查询

  •  0
  • Dan  · 技术社区  · 6 年前

    我希望得到1条记录,但目前我得到0条记录使用下面的查询。如何让它工作?

    案例1 sex 出现在搜索关键字的前缀中

    select name from invalid_names_master where
    name LIKE '%sexsadf' OR
    name LIKE 'sexsadf%' OR
    name='sexsadf'
    

    案例2 :应返回记录,因为 出现在搜索关键字的后缀中

    select name from invalid_names_master where
    name LIKE '%ertsex' OR
    name LIKE 'ertsex%' OR
    name='ertsex'
    

    在上述两种情况下

    :

    `sex`  (i.e 1 record found) 
    

    无效的\u名称\u master enter image description here

    2 回复  |  直到 6 年前
        1
  •  2
  •   Madhur Bhaiya    6 年前

    我想你打算倒过来, ,如果输入字符串 sexsadf 包含来自 invalid_name_master

    请尝试以下查询:

    select name 
    from invalid_names_master 
    where
      'sexsadf' LIKE CONCAT('%', name) OR 
      'sexsadf' LIKE CONCAT(name, '%') OR 
      'sexsadf' LIKE name 
    
        2
  •  1
  •   Gordon Linoff    6 年前

    你应该简单地使用 like

    select name
    from invalid_names_master
    where 'sexsadf' like concat('%', name, '%');
    

    一个条件就足够了。