MySQL就像另一个领域

Sib*_*Guy 25 mysql sql-like

我有一个包含两个字符串列的表:Url和ModelId.我需要返回Url包含ModelId的记录,如下所示:

SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
Run Code Online (Sandbox Code Playgroud)

Mic*_*son 78

SELECT Id, Url, ModelId 
WHERE Url LIKE CONCAT('%', ModelId, '%')
Run Code Online (Sandbox Code Playgroud)

  • 从技术上讲,你可能想要逃避该字段,如果它有%:LIKE CONCAT('%',REPLACE(字段,'%','\%'),'%') (3认同)

tal*_*952 5

您不能只连接字符串,还必须将字段从 % 和 _ 转义:

SELECT Id, Url, ModelId 
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')
Run Code Online (Sandbox Code Playgroud)