ورود

View Full Version : سوال: جستجو یک عدد در یک فیلد



kab00k
سه شنبه 25 تیر 1392, 17:45 عصر
سلام
من یه جدول دارم که یک فیلد ان نوع varchar هست. در داخلش اطلاعات به صورت اعداد با یک کاما ذخیره میشن مثلا ( 15,6,37,25 ) حالا من میخوام تو این فیلد یکی از این اعداد را جستجو کنم .
راهی پیدا نکردم که بتونم یه عدد خاص را سرچ کنم وقتی از LIKE %5% استفاده میکنم دو تا نتیجه میده که جفتش غلطع یعنی 25 و 15 وقتی از REGEXP '5' استفاده میکنم بازم نتیجه غلط میده


SELECT *
FROM `Doc`
WHERE `name` LIKE '%list%'
AND `jobs` REGEXP '5'
LIMIT 0 , 30
این دستور نباید نتیجه بده اما نتیجه میده
لطفا راهنمایی کنید

کامروا
سه شنبه 25 تیر 1392, 22:39 عصر
درود

به این شکل بنویسید :
SELECT * FROM DOC
WHERE CONCAT(',', name, ',') LIKE '%,5,%';

امیـرحسین
چهارشنبه 26 تیر 1392, 17:07 عصر
SELECT *
FROM `Doc`
WHERE `name` LIKE '%list%'
AND FIND_IN_SET(5, `jobs`) > 0
LIMIT 0 , 30