PDA

View Full Version : سوال: مشکل در جستجو رنج اعدادی که با صفر شروع می شوند



javadt
جمعه 22 آبان 1394, 19:50 عصر
سلام
من یکسری اعداد دارم به این صورت
1234-001-050
1234-059-060

1234 اعداد ثابت و 001-050 رنج عددی هستند و موردی که کاربر میخواد جستجو کنه توی این رنج قرار دارد
برای این که صفر ابتدا رو بتونم ذخیره کنم در دریتابیس نوع فیلد رو varchar گذاشتم
و توی یک فیلد عدد ثابت و در فیلد min شروع بازه و در فیلد max پایان بازه رو گذاشتم
مشکل اینجاست که چون این فیلد ها عددی نیستند جستجو به صورت صحیح کار نمی کنه و همیشه نتایج درست رو بر نمی گردونه
با چه روشی میشه در رنج اعدادی که باصفر شروع میشند جستجو داشته باشم؟
صفر رو هم نمی تونم حذف کنم

milad_d993
جمعه 22 آبان 1394, 21:09 عصر
فکر کنم با تابع cast یا convert بشه... یه سرچی تو گوگل بکن

SELECT (1 + CAST('1' AS UNSIGNED))/2;

plague
شنبه 23 آبان 1394, 20:39 عصر
چجوری جستجو میکنی ؟ دو تا فیلد دیگه بساز از نوع عددی و max , min رو اونجا هم بریز و جستجو رو بر اساس اونا انجام بده
یا اینکه همین دو تافیلد رو عددی بکن موقع نمایش با توجه به اینکه میدونی باید 3 رقمی باشن هرچقدر کمتر از 3 رقم بودن اولشون 0 بزار

us1234
شنبه 23 آبان 1394, 23:17 عصر
کوئری سرچ که کار میکنید چیه ؟
این را نگاه کن :

select * from tbl where tbl_min >= 100 and tbl_max < 200 ;

اصولا نیاز به فیلد varchar هم نباید باشه ، شما مین و ماکس را دارید ، موقع نمایش دادن طول هر رنج که از 3 کم شد به همان میزان که کم است سمت چپ رشته 0 اضافه کن و نمایش بده ...