好的我在InnoDB有一张桌子。它有一个名为"spellings“的列,这是一个文本字段(不是varchar)。在本专栏中,我有多种拼写方式,每种方式都用换行符分隔。例如,其中一行如下所示:
Soulcalibur
Soul Calibur然后,我有另一行包含此信息
Soulcalibur II
Soulcalibur 2
Soul Calibur II
Soul Calibur 2现在假设我想查找包含"Soul Calibur“的行,我使用:
SELECT * FROM games WHERE spellings LIKE '%Soul Calibur%'这样做的问题是它返回两行,因为从技术上讲,第二行确实有"Soul Calibur“。在MySQL查询中,有没有一种方法可以查询Soul Calibur,使其只显示一行中恰好包含Soul Calibur的字段。在解析换行符之后,基本上是完全匹配。
如果我去掉%,它就不起作用了,因为第一行在技术上是Soulcalibur\nSoul Calibur的
发布于 2013-02-17 13:23:59
我认为您需要使用char(10)来换行。因此请尝试like CONCAT('%Soul Calibur',CHAR(10),'%')
https://stackoverflow.com/questions/14918129
复制相似问题