PDA

View Full Version : مشکل در استفاده از دستور LIKE



c_doost
شنبه 02 اردیبهشت 1391, 09:22 صبح
"select * from tbl_ozviat where city like N'قائمشهر' AND group_honari like N'سرود و موسیقی' AND jensiat like N'خواهر' "
سلام
این کوئری را در سی شارپ نوشتم ولی هیچ خروجی ندارم در صورتی که این مقدار در اس کیو ال ذخیره هست بعد اینکه داداه ها را تست کردم فهمیدم فیلد جنسیت مقادیرش با چند کاراکتر space در اس کیو ال ذخیره شده

تا اونجا که من میدونم چون از LIKE استفاده کردم باید خروجی درست میداد ولی نداد اینطور نیست>؟

anotheruser
شنبه 02 اردیبهشت 1391, 09:53 صبح
'%قائمشهر%'

mshirzad68
شنبه 02 اردیبهشت 1391, 10:53 صبح
حالت کلی دستور LIKE

SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN}

روش ساخت پترن بکمک مثال:
'ABC%' : تمام کلماتی که با ABC شروع میشوند.
'%XYZ' : تمام کلماتی که به XYZ خاتمه می یابند.
'%AN%' : تمام کلماتی که شامل عبارت AN هستند .


پس اگه شما بنویسید '%قائمشهر%' تمام رکورد هایی که شامل کلمه قائمشهر باشند رو برمیگردونه .



اون space ها هم مربوط به خود SQL Server هست ( که فکر میکنم وقتی کاراکتر فارسی ذخیره میکنیم ایجاد میشه ) و مشکلی ایجاد نمیکنه .


موفق باشید .

mazaher5723
شنبه 02 اردیبهشت 1391, 11:08 صبح
سلام یک مثال
GO
SELECT p.FirstName, p.LastName, ph.PhoneNumber
FROM Person.PersonPhone AS ph
INNER JOIN Person.Person AS p
ON ph.BusinessEntityID = p.BusinessEntityID
WHERE ph.PhoneNumber LIKE '415%'
ORDER by p.LastName;
G
http://msdn.microsoft.com/en-us/library/ms179859.aspx
موفق و پیروز باشید
مظاهر