好的,我在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
答案 0 :(得分:0)
我认为你需要使用char(10)来换行。所以试试吧 像CONCAT('%Soul Calibur',CHAR(10),'%')