Tôi có một bảng có hai cột chuỗi: Url và ModelId. Tôi cần phải trả lại hồ sơ mà Url chứa ModelId, một cái gì đó như thế này:MySQL giống như một trường khác
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
Tôi có một bảng có hai cột chuỗi: Url và ModelId. Tôi cần phải trả lại hồ sơ mà Url chứa ModelId, một cái gì đó như thế này:MySQL giống như một trường khác
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', ModelId, '%')
thx, tìm kiếm ở đây mọi nơi –
Về mặt kỹ thuật bạn có thể muốn thoát khỏi trường trong trường hợp nó có% trong đó: THÍCH CONCAT ('%', REPLACE (trường, '%', '\%'), '%') – dlo
Đây là truy vấn:
SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%')
Bạn có thể không chỉ concat chuỗi, bạn phải cũng thoát khỏi trường từ% và _:
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')
trùng lặp có thể có của [Sử dụng LIKE% ..% với các giá trị trường trong MySQL] (http://stackoverflow.com/questions/4420554/use-like-with-field-values-in-mysql) –