سلام من یه کد نوشتم بدین صورت
SELECT * FROM [fazelab].[dbo].[moshtarak] where karbar_reg = 'آقای منتظری'
هیچی بهم نمیده
ولی اگه karbar_rgg رو بکنم نام یا فامیل بهم اطلاعاتو میده
مشکل چیه؟
سلام من یه کد نوشتم بدین صورت
SELECT * FROM [fazelab].[dbo].[moshtarak] where karbar_reg = 'آقای منتظری'
هیچی بهم نمیده
ولی اگه karbar_rgg رو بکنم نام یا فامیل بهم اطلاعاتو میده
مشکل چیه؟
درود به شما
توی خود sql server یه Query بزن ببین اونجا بهت جواب میده
بعضی وقت ها مشکل "ی" فارسی و "ي" عربی هست. به این نکته توجه کن.
بنظرم از LIKE استفاه کنی بهتره و یا اینکه کلا جستجو رو بر اساس فیلد دیگری انجام بدی .
یعنی شما هم نام رو در دوتا فیلد ذخیره می کنید؟
نوع فیلدها یکی هستن؟NVARCHAR؟
خیر ببیند یه جدول دارو با فیلد های
name- family-karbar_reg
همشون هم nvarchar هستند
حالا وقتی می نویسم
select * from tbl where name = "علی"
اطلاعات رو برام میاره
ولی وقتی مینویسم
select * from tbl where name = "منتظری"
هیچ اطلاعاتی برام نمیاره
درصورتی که مطمئنم که من فیلدی بنام منتظری دارم.
البته با like هم امتحان کردم ولی نشد
select * from tbl where name like N'%منتظری%'
این کد رو تست کنید
با سلام.
برای سوال شما نیازی به گذاشتن دو علامت % در قبل و بعد کلمتون نیست، چون در کوئری های بالا سرعت کمتر میشود، و البته فکر میکنم اگر شما دوتا مقدار 'منتظری' دورن جدولتون داشته باشید کوئری پاسخی برنگردونه.
بهته از امکان Full text search استفاده کنید.
در این صفحه کاملا توضیح داده شده است
https://barnamenevis.org/showthread.p...%B1-SQL-Server
عجب؟ چرا؟؟؟؟؟؟؟؟؟؟؟؟؟ کوئری شون که درسته... و هیچ دلیلی وجود نداره که اگه دوتا باشه چیزی بر نگردونه!!البته فکر میکنم اگر شما دوتا مقدار 'منتظری' دورن جدولتون داشته باشید کوئری پاسخی برنگردونه.
وقتی می خواین تو اسکیوال با فارسی کار کنید باید N بگذارید می تونید تکه برنامه تون رو بزارید بچه ها چک کنن؟ همراه با جدولی که خودتون طراحی کردید؟
اقا ممنون مشکل با N رفع شد