ورود

View Full Version : تابعی برای یک رشته



setak
چهارشنبه 09 اسفند 1385, 16:10 عصر
من به تابعی نیاز دارم که برای مثال تمام 'x' ها را در تمام رکوردهای یک فیلد را با 'm' جایگزین کند
مثلا رشته روبرو export به emport تبدیل شود .

whitehat
چهارشنبه 09 اسفند 1385, 16:15 عصر
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

SeniorDevs
چهارشنبه 09 اسفند 1385, 16:35 عصر
در SQL SERVER 2000 به شکل زیر می توانید مثلا تمامی 'X' های موجود در یک یا چند Column را به 'M' تغییر دهید :



SELECT Replace(Column1, 'X', 'M'), Replace(Column2, 'X', 'M') FROM Table1


که در اینجا Table1 نام جدول مورد نظر شما و Column1 و Column2 هم نام های ستون های مورد نظر شماست.


موفق باشید.:خجالت:

whitehat
چهارشنبه 09 اسفند 1385, 16:53 عصر
در SQL SERVER 2000 به شکل زیر می توانید مثلا تمامی 'X' های موجود در یک یا چند Column را به 'M' تغییر دهید
برای تغییر باید از Update استفاده بشه! این Query فقط برای نمایش است

SeniorDevs
چهارشنبه 09 اسفند 1385, 17:04 عصر
دوست عزیز، جناب whitehat من دیگر عمل UPDATE را به عهده خودشون گذاشتم اما حرف شما کاملا صحیح است.

kasmaii61
شنبه 19 اسفند 1385, 12:59 عصر
سلام دوستان یه سوال ابتدایی داشتم
من این دستور رو برای آپدیت به کار می برم اشتباه میگیره فکر می کنید مشکل از کجاست
UPDATE Table1
SET Colume1 = (SELECT Replace(Column1, 'X', 'M') FROM
Table1)
ممنون میشم کمکم کنید

darvishiali
شنبه 19 اسفند 1385, 13:48 عصر
سلام؛



UPDATE Table1 SET Column1=REPLACE(Column1, 'X', 'M')

SeniorDevs
شنبه 19 اسفند 1385, 13:56 عصر
دوست عزیز جناب kasmaii61 علت خطا در دستور SQL شما این است که Subquery شما بیش از یک Record را بر می گرداند و این امر هنگامی که شما از عملگر = استفاده می کنید مجاز نیست باید از یک ترفند ساده و زیبا استفاده کنید که دوست خوبم جناب darvishiali به آن اشاره کردند شکل زیر:



('UPDATE Table1 SET Column1 = Replace(Column1, 'X', 'M



با آرزوی موفقیت برای همه دوستان:چشمک:

kasmaii61
شنبه 19 اسفند 1385, 18:55 عصر
دوستان دستتون درد نکنه مشکلم حل شد
موفق باشید