هناك بعض الخيارات الممتازة المتاحة على: http://www.sqlperformance.com/2012/07/t-sql-queries/split-trings
هناك حلول تسمح لك بتمرير المحدد أيضًا ، حتى تتمكن من المرور في مختلف الحالات في المستقبل.
سؤال
لدي سلسلة مثل هذه "Suzuki GSX_1300/Twowheeler"
الآن أريد تقسيم السلسلة أعلاه إلى كلمات وإدخال كلمة واحدة تلو الأخرى في جدول واحد.
DECLARE @a TABLE (a nvarchar(500));
declare @RTADESC nvarchar(100) = 'SUZUKI GSX_1300/TWOWHEELER';
declare @b int =1;
declare @c int;
set @c=CHARINDEX('_',@RTADESC,@b);
WHILE @c>0
BEGIN
SELECT @b= CHARINDEX('_' ,@RTADESC,@b)+1
INSERT INTO @a
SELECT SUBSTRING(@RTADESC,0,@b-1)
set @c=CHARINDEX('_',@RTADESC,@b)
END
SELECT * FROM @a
الآن أريد أن أرى البيانات الموجودة في الجدول على النحو التالي
SUZUKI
GSX
1300
TWOWHEELER
بناءً على ذلك ، سأبحث عن صانعي المركبات في طاولتي.
لذا ، الرجاء المساعدة في هذا كيف يمكنني تقسيم سلسلةي ، قد أحصل على شخصيات خاصة مختلفة في المستقبل.
المحلول
هناك بعض الخيارات الممتازة المتاحة على: http://www.sqlperformance.com/2012/07/t-sql-queries/split-trings
هناك حلول تسمح لك بتمرير المحدد أيضًا ، حتى تتمكن من المرور في مختلف الحالات في المستقبل.