2011-02-03 52 views
19

我有一個包含兩個字符串列的表:Url和ModelId。我需要返回記錄其地址包含ModelId,這樣的事情:像另一個字段的MySQL

SELECT Id, Url, ModelId WHERE Url like "%ModelId%" 
+0

可能的重複[Use LIKE%..%與MySQL中的字段值](http://stackoverflow.com/questions/4420554/use-like-with-field-values-in-mysql) – 2013-11-22 21:22:32

回答

56
SELECT Id, Url, ModelId 
WHERE Url LIKE CONCAT('%', ModelId, '%') 
0
SELECT Id, Url, ModelId from <table> WHERE Url like '%' + ModelId + '%' 
+0

您的查詢沒有意義。 – Fr0zenFyr 2013-06-12 13:21:48

+0

從什麼時候``在MySQL中爲字符串連接工作? – billynoah 2015-11-16 21:34:32

0

下面是該查詢:

SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%') 
0

你不能只是CONCAT字符串,您必須也可以從%和_中刪除字段:

SELECT Id, Url, ModelId 
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%') 
相關問題