PDA

View Full Version : تغییر دادن یک کاراکتر مشخص در یک ستون



msf-sab
پنج شنبه 09 آبان 1387, 08:15 صبح
دوست من سلام
در یک ستون یک table می خواهم به شکل زیر تغییر داده شود مثلا
850328
851228
851228
851228
861221
860121
860121
860125
با یک دستور فقط عدد 8 سمت چپ همه این اعداد به 9 تبدیل و بقیه جای خود ثابت بماند
متشکرم

MajerajooyeKhallagh
پنج شنبه 09 آبان 1387, 10:15 صبح
سلام دوست عزیز:


createtable Tbl1
(f1 NVarchar(20))

insertinto Tbl1(f1)values(850328)
insertinto Tbl1(f1)values(851228)
insertinto Tbl1(f1)values(851228)
insertinto Tbl1(f1)values(851228)
insertinto Tbl1(f1)values(861221)
insertinto Tbl1(f1)values(860121)
insertinto Tbl1(f1)values(860125)

update Tbl1
set f1=REPLACE(f1,substring(f1,len(f1),1),'9')
wheresubstring(f1,len(f1),1)='8'

amin_alexi
پنج شنبه 09 آبان 1387, 10:22 صبح
سلام
با فرض اينكه اسم جدولت TblName و اسم فيلدت FldName مي توني از Update زير استفاده كني

Update TblName
Set FldName = '9'+SUBSTRING ( FldName , 2 , len(FldName)-1 )

amin_alexi
پنج شنبه 09 آبان 1387, 10:30 صبح
با عرض تشكر از دوست عزيز ... ولي اين دستور ايراد داره

createtable Tbl1
(f1 NVarchar(20))

insertinto Tbl1(f1)values(850328)
insertinto Tbl1(f1)values(851228)
insertinto Tbl1(f1)values(851228)
insertinto Tbl1(f1)values(851228)
insertinto Tbl1(f1)values(861221)
insertinto Tbl1(f1)values(860121)
insertinto Tbl1(f1)values(860125)

update Tbl1
set f1=REPLACE(f1,substring(f1,len(f1),1),'9')
wheresubstring(f1,len(f1),1)='8'

علت :
اين دستور كد هايي كه آخر اونها رقم 8 وجود داره رو عوض ميكنه و هر چي 8 توشه به 9 تبديل مي كنه !
كه در خواست شخصي كه سوال پرسيد يك چيزه ديگه بود !

brightboy
پنج شنبه 09 آبان 1387, 10:51 صبح
salam
age mikhay hamishe in updat anjam she mitoni az function estefade koni

amin_alexi
پنج شنبه 09 آبان 1387, 11:23 صبح
سلام
كاربر جديد brightboy (http://barnamenevis.org/forum/member.php?u=79505) در اين سايت Finglish ننويسيد !
فارسي تايپ كنيد

قوانين سايت رو يك بار ديگه مرور كنيد !!!
ممنون :تشویق:

sheitoonbala
پنج شنبه 09 آبان 1387, 19:18 عصر
سلام . اگه عدد سمت چپ همواره 8 هست از کد زیر براحتی میشه مقدار رو تبدیل کرد:

UPDATE table SET code = code + 100000

موفق باشید ...