我想在 mysql 数据库中搜索包含一些供应商名称的列,它的值如下。 Bansbach GmbH(默认)
、Bansbach Feinmechanik
和 Bansbach xyzsomething
。我需要将结果作为一个数组获取,其中包含的结果的列包含完全等于 Bansbach
的结果,如果不是,则检查 Bansbach 和默认值。如何编写这样的 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/