MySQL搜索TEXT字段以匹配文本,在多行上搜索绝对值

时间:2013-02-17 04:58:36

标签: mysql innodb

好的,我在InnoDB中有一张桌子。它有一个名为“拼写”的列,它是一个TEXT字段(不是varchar)。在本专栏中,我有多种拼写方法,每种方式用换行符分隔。例如,其中一行如下:

Soulcalibur
Soul Calibur

然后我有另一行有这个信息

Soulcalibur II
Soulcalibur 2
Soul Calibur II
Soul Calibur 2

现在我想说我想找到包含“Soul Calibur”的行,我正在使用:

SELECT * FROM games WHERE spellings LIKE '%Soul Calibur%'

这个问题是它返回BOTH行,因为从技术上讲,第二行确实有“Soul Calibur”。在MySQL查询中是否有一种方法可以查询Soul Calibur,它只会在一条线上显示包含EXACTLY Soul Calibur的字段。解析换行符后基本上是完全匹配。

如果删除%,它就不起作用,因为第一行在技术上是Soulcalibur\nSoul Calibur

1 个答案:

答案 0 :(得分:0)

我认为你需要使用char(10)来换行。所以试试吧  像CONCAT('%Soul Calibur',CHAR(10),'%')