Mysql 我喜欢另一个领域
我有一个包含两个字符串列的表:Url和ModelId。我需要返回Url包含ModelId的记录,如下所示:Mysql 我喜欢另一个领域,mysql,sql-like,Mysql,Sql Like,我有一个包含两个字符串列的表:Url和ModelId。我需要返回Url包含ModelId的记录,如下所示: SELECT Id, Url, ModelId WHERE Url like "%ModelId%" 选择Id、Url、ModelId,其中Url类似“%”+ModelId+“%” 以下是查询: SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%') 您不能仅对字符串进行concat,还必须从%和x中转义字段:
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
选择Id、Url、ModelId,其中Url类似“%”+ModelId+“%”
以下是查询:
SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%')
您不能仅对字符串进行concat,还必须从%和x中转义字段:
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')
您的查询没有意义。从什么时候起,
+
在MySQL中可以进行字符串连接?如果字段中有%的话,您可能希望转义该字段:如CONCAT(“%”,REPLACE(字段“%”,“\%”,“\%”,“%”),很棒。问题:是否也应转义“\”字符<代码>替换(替换(替换(模型ID“\\”、“\\\”)、“%”、“\\\”)、“\%”、“\\\”)、“\\\”
SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%')
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')