【发布时间】:2011-06-20 15:41:52
【问题描述】:
我有一个包含两个字符串列的表:Url 和 ModelId。我需要返回 Url 包含 ModelId 的记录,如下所示:
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
【问题讨论】:
我有一个包含两个字符串列的表:Url 和 ModelId。我需要返回 Url 包含 ModelId 的记录,如下所示:
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
【问题讨论】:
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', ModelId, '%')
【讨论】:
你不能只连接字符串,你还必须从 % 和 _ 中转义字段:
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')
【讨论】:
REPLACE(REPLACE(REPLACE(ModelId,'\\','\\\\'),'%','\%'),'_','\_')
这里是查询:
SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%')
【讨论】:
SELECT Id, Url, ModelId from <table> WHERE Url like '%' + ModelId + '%'
【讨论】:
+ 何时开始在 MySQL 中用于字符串连接?