PDA

View Full Version : جستجوی کلمه فارسی با استفاده از select..from..where..like



vakil_1365
شنبه 20 مرداد 1386, 14:25 عصر
:لبخندساده:سلام
من در قسمت جستجو برای کلمات فارسی در رکورد های بانک اطلاعاتی ام با استفاده از دستور '%کلمه فارسی%'select .. from .. where .. like به مشکل برخوردم و هیچ رکوردی از جدول که دارای کلمه ی مورد نظر است را برنمی گرداند در صورتی که با کاراکتر های انگلیسی مشکلی ندارد.
ممنون میشم اگه کسی راهنماییم کنه.

mehdi.mousavi
شنبه 20 مرداد 1386, 14:32 عصر
:لبخندساده:سلام
من در قسمت جستجو برای کلمات فارسی در رکورد های بانک اطلاعاتی ام با استفاده از دستور '%کلمه فارسی%'select .. from .. where .. like به مشکل برخوردم و هیچ رکوردی از جدول که دارای کلمه ی مورد نظر است را برنمی گرداند در صورتی که با کاراکتر های انگلیسی مشکلی ندارد.
ممنون میشم اگه کسی راهنماییم کنه.


سلام.
از حرف N برای گرفتن کاراکترهای Wide Char استفاده کنید:

% SELECT * FROM table WHERE field LIKE N '%Test'

البته فرض رو بر این گذاشتم که برای این ستون از یکی از تایپهای unicode استفاده کرده و Collation مناسب رو هم هنگام نصب انتخاب کرده باشید.

nokhod
جمعه 03 اسفند 1386, 07:11 صبح
خوب حالا اگه مقدار جستجو با پارامتر باشه چی؟ اینو چیکار کنیم؟



DELCARE @Key nvarchar
SET @Key = 'ب'
SELECT * FROM myTable where [myField] LIKE @Key + '%'

nasseritemp
جمعه 03 اسفند 1386, 10:16 صبح
خوب حالا اگه مقدار جستجو با پارامتر باشه چی؟ اینو چیکار کنیم؟


شما باید مقدار پارامتر رو قبل از ارسال آماده کنید و به Function یا SP مربوطه بفرستید. مثلا
key@ رو برابر '%myString%' قرار بدبد