الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تقسيم حقل الاسم

بدأه greenpeace20011 في 4 أبريل 2011 · 2 رد · 934 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ياريت تساعدوني في عمل كود يقسم حقل الاسم لعدة حقول مثال:

أحمد صالح محمد الزايدي

أرغب في تقسيمه للحقول الآتية

first name

second name

third name

last nameبحيث يكون النتيجة كالأتي

احمد

صالح

محمد

الزايدي

#2

نعمل FUNCTION

لتسهيل العملية

حيث @List

يرمز إلى العمود

و SplitOn

الفاصل بين الأسمين

و @Occurance

المقطع

CREATE FUNCTION dbo.Split2(@List nvarchar(200) = '',@SplitOn nvarchar(5) = ' ',@Occurance nvarchar(5) = 1)

RETURNS  varchar(200)
AS
BEGIN
   declare @RtnValue varchar(200)
   declare @iOcc int
   SET @iOcc = 0
   While (Charindex(@SplitOn,@List)>0) AND
         @iOcc <> @Occurance
         Begin
           SET @iOcc = @iOcc + 1
           SET @RtnValue = SUBSTRING(@List,1,Charindex(@SplitOn,@List)-1)
           SET @List = SUBSTRING(@List,Charindex(@SplitOn,@List)+1,200)

         End

   Return @RtnValue
eND

طريقة أستدعاء FUNCTION

SELECT dbo.Split2(col,' ',1),
       dbo.Split2(col,' ',2),
       dbo.Split2(col,' ',3),
       dbo.Split2(col,' ',4)
FROM table1

تم تعديل هذه المشاركة بواسطة Al-Mohana في 4 أبريل 2011 في 18:53

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#3

اكرمك الله

مواضيع مشابهة