PDA

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



monakhorrami
یک شنبه 22 شهریور 1388, 14:34 عصر
سلام.من از sql server 2000 و C#.net استفاده میکنم . در یکی از قسمت های جستجو باید یک محدوده را search کنم مثلا از قیمت ... تا .... . و تمام فیلدهای جدولم از نوع Nvarchar هستند.
data>=@data1 and data<= @data2 که data1 و data2 همان حدودی هستند که از کاربر گرفته میشود.ولی مشکل اینجاست که search درست انجام نمی شود و فقط وقتی درست انجام میشود که تعداد ارقام data1 و data2 برابر باشند . آن هم در بعضی موارد باز درست کار نمی کند.اگر هر چه سریعتر راهنمائیم کنید ممنون میشم

بهنام بهمنی
یک شنبه 22 شهریور 1388, 15:53 عصر
ستونهايت را به عدد cast کن, شبيه کد زير


Cast (data as numeric(18,4) )>=Cast ( @data1 as numeric(18,4) )
and
Cast (data as numeric(18,4) )<= Cast (@data2 as numeric(18,4) )

monakhorrami
یک شنبه 22 شهریور 1388, 17:50 عصر
با اون کد این خطا رو می گیره:
Error converting data type nvarchar to numeric.

بهنام بهمنی
دوشنبه 23 شهریور 1388, 09:28 صبح
آيا ستون قيمت شما همواره حاوي عدد است؟ اگر جدا کننده سه رقم , سه رقم را هم ذخيره کرده ايد ابتدا آنرا حذف کنيد.

بهتر است جنس فيلد قيمت را به عددي تبديل کنيد.

monakhorrami
سه شنبه 24 شهریور 1388, 01:53 صبح
از راهنمائیتون متشکرم.با تبدیل فیلدهای بازه ای به int مشکلم حل شد.