MySQL

2016-03-23 15 views
1

Ben 0 sonuç döndürür follwing basit MySQL sorgusu vardır:MySQL

SELECT d.name FROM document d WHERE 10 IN (d.categories) 

"kategoriler" tipi varchar ve "10,20,30" örneğin içerir. Ben doğrudan İÇİNDE değerleri yazdığınızda

çalışır ve bir sonuç döndürür:

SELECT d.name FROM document d WHERE 10 IN (10,20,30) 

Ben istediğimi değil tabii ki böyle bir şey ile MySQL yerine d.documents şüpheli:

SELECT d.name FROM document d WHERE 10 IN ("10,20,30") 

Bunun için uygun bir çözüm nedir?

cevap

2

Evet find_in_set ile: diğer konuya bağlantıdan

SELECT d.name FROM document d WHERE find_in_set(10, d.categories) > 0