我想在mysql数据库中搜索包含一些供应商名称的列,它有如下值。Bansbach GmbH (default)
、Bansbach Feinmechanik
和Bansbach 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/