php - 从 mysql 中获取列值包含两个字符串的数据

标签 php mysql

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

相关文章:

MySQL 选择为

mysql - Grails 2.4.3 & MySQL & grails.project.fork = false

mysql - 如何为带有 Mysql 数据库的 Delphi 项目创建安装程序

php - 授予开发人员使用 PHP 公开访问表的权限是否安全?

mysql - 使用临时表的字段进行插入

javascript - HTTP 内容类型 header 和 JSON

php - 当两个表中具有相同的列名时获取正确的值 - 基于选择中的最大值

php - 阻止用户未登录时访问

php - 没有这样的文件或目录 - Magento 错误

php - 用户如何在其他人发帖后发帖?