如何比较MySQL Query中的字符串

时间:2016-09-21 17:48:27

标签: mysql

我在编写mySql查询时遇到问题。

示例:

我有两个输入字段。

  1. Title =“Live to Tell”;
  2. 作曲家=“麦当娜/米歇尔杰克逊”;
  3. 在我的数据库表中包含以下记录

    表名:带标题和作曲家列的歌曲

    1. Title =“Live to Tell”;
    2. 作曲家=“Michel Jackson / Madonna”;
    3. 我的查询:

      select * from SONGS 
      where title ='Live to Tell' and 
      composer ='Madonna/Michel Jackson'
      

      不返回结果。我在作曲家提交的那个词中互换了。

      我的要求是即使我们交换单词也能使它工作。

      作曲家内容由'/'

      分隔

2 个答案:

答案 0 :(得分:1)

尝试使用php函数explode()爆炸字符串Madonna/Michel Jackson。在查询中使用它之前。

$composer = explode('/', 'Madonna/Michel Jackson');

这会将一个数组返回$composer,如下所示:

array(
   [0] => 'Madonna',
   [1] => 'Michel Jackson'
)

选择一个可以使用的名称$composer[0] or $composer[1]

SELECT * FROM songs WHERE title ='Live to Tell' AND composer LIKE "%$composer[1]%";

答案 1 :(得分:0)

您可以在MySql上查看全文搜索功能:https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

但可能这对你的情况来说还不够,你需要像弹性搜索这样的外部搜索引擎。