我想在mysql数据库中搜索包含一些供应商名称的列,它有如下值。Bansbach GmbH (default)Bansbach FeinmechanikBansbach xyzsomething。我需要将结果作为一个数组来获取,其中包含的结果的列正好等于Bansbach如果不是,请检查Bansbach和default。如何编写这样的mysql查询。
现在我已经试过这样的事情了。[这里只包括我的where子句]

WHERE suppliername ='Bansbach'

我需要一些像
 WHERE if(suppliername !='Bansbach' then (check it contains both bansbach and default)

最佳答案

普通普通SQL:

SELECT
  -- blah
FROM
  -- blah
WHERE
  suppliername = 'Bansbach'
  OR (
    suppliername LIKE '%Bansbach%'
    AND suppliername LIKE '%default%'
  )
;

编辑
为什么是同一件事?
只有当第一个条件失败时,才会执行OR分支,这将替换您IF
“包含两者”与“包含一个并包含另一个”相同

关于php - 从mysql获取数据,其中列值包含两个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27854996/

10-13 23:42