View Full Version : ساخت يك sp (استور پروسجر)با شرط Split
HAMRAHSOFT.IR
دوشنبه 24 مرداد 1390, 07:59 صبح
سلام من اريكي از تبل هاي برنامه يك spساختم
حلا مخوام بگم فيلد آدرس را Split كن بر حسب كاركتر | يعني اگر كاركتر | در اصلاعات اون بود به يك فيلد جديد انتقال پيدا كنه درواقع يك ستون جديد اجاد بشه داخل sp و قبل از كاركتر | داخل اون باشه و مابقي داخل فيلد آدرس و يا برعكس اين قضيه ار اول تا كاركتر| داخل فيلد آدرس و بقي در ستون جديد
HAMRAHSOFT.IR
دوشنبه 24 مرداد 1390, 12:11 عصر
دوستان با اين كد مشكلم تقريبا حل شد
نميدونم بعد بهم خطا ميده يا نه يا جاي باك پيدا كن
ولي مشكلي كه داره كراكتر| را هم نشون ميده
SELECT LEFT(Name,CHARINDEX('|',Name))
From tbl1
Galawij
دوشنبه 24 مرداد 1390, 12:24 عصر
Select Substring(YourFieldName,1,Charindex('|',YourFieldN ame)-1) as Address,Substring(YourFieldName,Charindex('|',Your FieldName)+1,len(YourFieldName))as OtherField
From YourTableName
فرض را بر این گرفته ام که شما فقط یک کاراکتر | در فیلد تان دارید و آدرس در داخل فیلد، قبل از علامت | قرار دارد.
HAMRAHSOFT.IR
دوشنبه 24 مرداد 1390, 12:33 عصر
دوست خوب كد شما خطا ميده
آدرس به اين صورت مي باشد
خ خيام | كوچه محمدي بن بست اول پلاك 9
خطا اين
Msg 537, Level 16, State 3, Line 1
Invalid length parameter passed to the LEFT or SUBSTRING function.
Galawij
دوشنبه 24 مرداد 1390, 12:52 عصر
به این شکل تغییر بدید:
SelectRtrim(Ltrim(Substring(TbName,1,Charindex('|' ,TbName)-1)))as Address,Rtrim(Ltrim(Substring(TbName,Charindex('|' ,TbName)+1,len(TbName))))as OtherField
From dbo.TbNames
خطا نمی ده، دارم باهاش کار می کنم.
نام فیلد و جدول خودتون را جاگذاری کنید.
HAMRAHSOFT.IR
دوشنبه 24 مرداد 1390, 13:42 عصر
تشكر كه جواب ميدي ولي بازم خطا ميده
Select Rtrim(Ltrim(Substring(Tbl_Customer.Address,1,Chari ndex('|',Address)-1)))as Address3,Rtrim(Ltrim(Substring(Tbl_Customer.Addres s,Charindex('|',Tbl_Customer.Address)+1,len(Tbl_Cu stomer.Address))))as Address2
From Tbl_Customer
خطا
Msg 537, Level 16, State 3, Line 1
Invalid length parameter passed to the LEFT or SUBSTRING function.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.