ورود

View Full Version : سوال در مورد عملگر LIKE و عدم نمایش نتایج



انیشتین
یک شنبه 23 مهر 1391, 14:02 عصر
با سلام
دو تا سوال داشتم:
1- من اس کیو ال سرور 2008 رو نصب کردم و یک بانکی هم بر روی اون طراحی کردم .. در کمال تعجب امروز دیدم که از مقادیر فارسی تو جستجو نمیشه استفاده کرد .. مثلا اگر شخی به نام "رضا" تو دیتا بیش باشه و بعد شما بگی که شخصی که اسمش رضا هست رو برگردون چیزی بر نمیگرده ولی با عبارت "reza" هیچ مشکلی نداره و جواب میده .. چرا؟؟ ...

2-سوال دوم اینکه وقتی از عملگر LIKE تو یک کوئری عادی استفاده میکنم جواب میده ولی وقتی تو روال ذخیره شده بکار میبرم جوا ب نمیده .. این روال ذخیر شده هست ..

@SearchType int,
@SearchTextOne nvarchar(50),
@SearchTextTwo nvarchar(50)
AS
BEGIN

IF @SearchType=1
begin
SELECT BookName , BookID , BookPictureAdress, Price FROM Book
WHERE BookName LIKE '%@SearchTextOne%'

end

IF @SearchType=2
begin
SELECT BookName , BookID , BookPictureAdress, Price FROM Book
WHERE BookID in(SELECT BookID FROM BookAuthorList
WHERE AuthorID in(SELECT AuthorID FROM Author
WHERE FirstName LIKE '%@SearchTextOne%' AND LastName LIKE '%@SearchTextTwo%'))

end </div>

aghayex
یک شنبه 23 مهر 1391, 19:12 عصر
در مورد سوال اولتون like رو به این صورت بنویس

select * from table1 where name N'%رضا%'

چیزی که با دستور شما تفاوت داره یه حرف N هست

pashna
دوشنبه 24 مهر 1391, 21:16 عصر
سلام،
در مورد سوال دوم به صورت زیر تغییر بدید :

WHERE BookName LIKE CONCAT('%',@SearchTextOne, '%')

m0hammad_01
پنج شنبه 27 مهر 1391, 15:03 عصر
سلام
از تنظیم Collation پایگاه دادتون روی Arabic_CS_AI یا Perian_100 مطمئن شید. (البته شخصا از Persian_100 استفاده نمیکنم)

انیشتین
یک شنبه 07 آبان 1391, 18:36 عصر
تا اونجا که بخاطر دارم هنگام نصب arabic رو انتخاب کردم .. ولی جهت اطمینان چک میکنم .. به این تنظیمات از کجا میتونم دسترسی داشته باشم؟