PDA

View Full Version : انتخاب نوع فیلد برای اعداد اعشاری با / در دیتابیس



xoogle.ir
جمعه 15 بهمن 1389, 21:13 عصر
سلام دوستان عزیز
در یکی از پروژه هام برای یک فیلد عددی به خاطر احتمال وجود کاراکتر در بعضی اطلاعات و به درخواست مشتری نوع فیلد رو به صورت varchar انتخاب کردم. اما حالا برای مرتب سازی (order by) اطلاعات این فیلد به صورت صعودی و نزولی مشکل داریم. به این شکل که مثلا عدد 100 میاد بین 10 و 11 قرار میگیره و ....

حالا مشتری درخواست کرده که نوع فیلد به همون عددی تغییر پیدا کنه که مرتب سازی به صورت صحیح انجام بشه.
اما ایشون برای وارد کردن اعداد اعشاری به جای نقطه از / استفاده کرده اند. و به همین خاطر من هر تایپی رو که برای این فیلد انتخاب میکنم mysql ارور میده.

میخاستم ببینم اولا برای اعداد اعشاری از چه تایپی باید استفاده کرد و دوما مشکل این / ها رو چه طور باید حل کرد.

xoogle.ir
شنبه 16 بهمن 1389, 10:07 صبح
Up :خجالت:
کسی نمیتونه کمک کنه ؟
میخاستم ببینم اولا برای اعداد اعشاری از چه تایپی باید استفاده کرد و دوما مشکل این / ها رو چه طور باید حل کرد.

رضا قربانی
شنبه 16 بهمن 1389, 16:20 عصر
از varchar استفاده کن

مثلا از نوع varchar (250) قرار بده .

یه فیلد id هم بساز و extera اون رو auto increment و تیک primary رو بزن و از آی دی رندوم کن یا صعودی و نزولی کن

امیـرحسین
شنبه 16 بهمن 1389, 23:03 عصر
برای تصحیح اعداد اعشاری خیلی ساده میتونید با یک کوئری جدول رو اصلاح کنید.
برای نوع اعشاری، FLOAT برای نمایش مناسبه و DECIMAL برای محاسبات.

MMSHFE
یک شنبه 17 بهمن 1389, 10:09 صبح
با سلام، به نظرم همون نوع FLOAT يا DECIMAL رو انتخاب كنيد ولي موقع ثبت، بررسي كنيد و توسط تابع str_replace كاركتر / رو با . جايگزين كنيد و بعد رشته حاصل رو ذخيره كنيد.
موفق و مؤيد باشيد.