PDA

View Full Version : سوال: پیدا کردن بخشی از متن یک فیلد با اجرای کوئری



zibaaa
چهارشنبه 12 مهر 1391, 13:33 عصر
سلام و وقت به خیر

من می خوام یک کوئری بنویسم که در یکی از فیلدهای جدول من مثل فیلد نام جستجو کنه و یک کلمه رو پیدا کنه و با چیز دیگه ای replace کنه.
به عنوان مثال جدول زیر مقادیر موجود در فیلد title می باشد.
93520
چیزی که من نیاز دارم یک کوئریه که کلمه است رو توی فیلد title پیدا کنه و پاکش کنه.

ممنونم میشم از کمکتون

amirzandi
چهارشنبه 12 مهر 1391, 14:06 عصر
dim Query = from qry in db.Table _
Where qry.title.contains("است") _
select qry

For Each item in Query
'delete command
Next

zibaaa
چهارشنبه 12 مهر 1391, 14:16 عصر
میشه یه توضیحی راجه به این کوئری بدین؟qry چیه؟ در ضمن من می خوام کوئری هام رو توی خود sql server بنویسم و اجرا بگیرم. لطفا راهنماییم کنین این دستور رو چطوری بنویسم که اونجا اجرا بشه؟

amirzandi
چهارشنبه 12 مهر 1391, 16:13 عصر
برای چی روی SQL Server می خواهید اجرا کنید؟ این نمونه کدی که من نوشتم با Linq اجرا می شود.

شما هم می توانید خیلی راحت Linq استفاده کنید و فرمان با لا را اجرا کنید.

amirzandi
چهارشنبه 12 مهر 1391, 16:14 عصر
توی خود SQL Server منظورتان خود سرور دیتا بیس است یا اینکه برنامه برای شما این کار را انجام دهد؟

zibaaa
پنج شنبه 13 مهر 1391, 09:15 صبح
منظورم توی محیط sql server توی قسمت sql pane هست.
93539

amirzandi
پنج شنبه 13 مهر 1391, 11:23 صبح
این یک نمونه :

SELECT
CASE
WHEN Region.reg_name = 'GA / S. Caro / ALA' THEN 'GA/SC/AL'
ELSE region.reg_name
END as region_name
FROM
Region
Where reg_name in ('Virginia', 'North Carolina', 'Florida', 'South Florida', 'Georgia / S. Carolina / Alabama' )
Order by reg_name

zibaaa
پنج شنبه 13 مهر 1391, 11:27 صبح
میشه توضیح هم بدین من متوجه نمیشم یا یک جور ساده تر بنویسین!
GA / S. Caro / ALA چیه؟
GA/SC/AL چیه؟؟

amirzandi
پنج شنبه 13 مهر 1391, 11:30 صبح
SELECT "Name" =
CASE
WHEN Wood.dbo.Personel.name = N'امیر زندی' THEN 'Amir Zandi'
ELSE Wood.dbo.Personel.name
END
FROM Wood.dbo.Personel
Order By Wood.dbo.Personel.name

amirzandi
پنج شنبه 13 مهر 1391, 11:32 صبح
اینجوری متوجه می شین؟

amirzandi
پنج شنبه 13 مهر 1391, 11:40 صبح
این هم برای زمانی که شما بخواین مثلا کلمه "است" را replace کنید:


SELECT REPLACE(Wood.dbo.Personel.name, N'امیر','Amir')
FROM Wood.dbo.Personel
WHERE Wood.dbo.Personel.name LIKE N'%امیر%'

zibaaa
پنج شنبه 13 مهر 1391, 11:54 صبح
من دقیقا مثل کوئری شما نوشتم ولی چیزیو replace نکرد فقط مقادیر ستون Name رو select کرد یا به عبارتی گزارشی از مقادیر ستون name داد.

zibaaa
پنج شنبه 13 مهر 1391, 12:02 عصر
من دقیقا مثل کوئری شما نوشتم ولی چیزیو replace نکرد فقط مقادیر ستون Name رو select کرد یا به عبارتی گزارشی از مقادیر ستون name داد.

zibaaa
پنج شنبه 13 مهر 1391, 12:04 عصر
من دقیقا مثل کوئری شما نوشتم ولی چیزیو replace نکرد فقط مقادیر ستون Name رو select کرد یا به عبارتی گزارشی از مقادیر ستون name داد.

amirzandi
پنج شنبه 13 مهر 1391, 16:55 عصر
امتحان کنید :

SELECT REPLACE(Table, N'است','نیست')
FROM Table
WHERE title LIKE N'%است%'

zibaaa
پنج شنبه 13 مهر 1391, 22:27 عصر
ممنونم از پاسختون