View Full Version : جستجوی بخشی از اسم فارسی در یک جدول
vahid80
پنج شنبه 24 شهریور 1384, 02:50 صبح
من میحواهم در یک فیلد name که شامل اسمهای فارسی است رکوردهایی که مثلا شامل "بخ" است را پیدا کنم ولی با استفاده از دستور زیر گاهی جستجو درست انجام میشود گاهی غلط. درصورتیکه در فیلدهای انگلیسی چنین مشکلی وجود ندارد.
select * from tab2 where name ('*"&trim(text) & "*') order by name
در جستجوی مثلا احسان ها اگر عبارت احس نوشته شود نتیجه غلط است ولی اگر احسا بنویسیم نتیجه درست میشود.
لطفا راهنمایی بفرمایید. با تشکر
dr_g
پنج شنبه 24 شهریور 1384, 11:19 صبح
با سلام
select * from tab2 where name like'" & text & "%'" order by name
vb341
جمعه 25 شهریور 1384, 10:01 صبح
آق وحید دستورت اشتباهه . از دستور dr_G استفاده کن . چون حتما باید like رو به همراه علامت % بکار ببری
vahid80
شنبه 26 شهریور 1384, 17:13 عصر
با تشکر از پاسخهای شما. این دستور فوق کار نمیکند و من در MSDN هم نگاه کردم، نوشته بود دستور LIKE در SQL استثنا است و فرم آن را هم بصورت بالا نوشته بود یعنی با * بجای % و من در کار با فیلدهای انگلیسی هیچ مشکلی ندارم و کاملا درست کار میکند ولی در موارد فیلدهای فارسی مشکل بالا پیش میآید.
با تشکر
Navid7h
شنبه 26 شهریور 1384, 17:24 عصر
به این پستها هم سری یه نگاهی بیاندازید
http://www.barnamenevis.org/forum/showthread.php?t=28187
http://www.barnamenevis.org/forum/showthread.php?t=27141
Navid7h
شنبه 26 شهریور 1384, 19:29 عصر
آدرسهای بالا رو درست کردم وحید جان
ehsan_ansaripoor
یک شنبه 27 شهریور 1384, 00:16 صبح
دوست عزیز اگر از بانک اطلاعاتی Access97 استفاده می کنی ابتدا باید فایل Mdb تبدیل به Med کنی با استفاده از Access97 و بعد فایل Mde را پسوندش را Mdb کنی شاید عجیب غریب باشه ولی منم این مشکل را داشتم البته این مشکل هم در جستجو هست و هم در Sort کردن
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.