View Full Version : سوال: تفکیک، تجزیه و جداسازی یک رشته به عناصر تشکیل دهنده آن توسط کاراکتر جداکننده
Modifier
پنج شنبه 24 تیر 1389, 10:51 صبح
سلام
چگونه يك رشته فرستاده شده به SqlServer رو جداسازي كنم توسط يك كاراكتر خاص ؟
مانندSpilt در C# ..
ممنون.
ياعلي...
MOJTABAATEFEH
پنج شنبه 24 تیر 1389, 11:38 صبح
دوست عزیز با چه زبانی کار می کنی؟
unique1984
پنج شنبه 24 تیر 1389, 11:59 صبح
سلام. امیدوارم کد زیادی ننوشته باشم!
DECLARE @MainStr NVARCHAR(20),
@Pos INT,
@ResultStr NVARCHAR(20),
@NextPos INT
SET @MainStr='Hello,Modern,World'
SET @NextPos=0
WHILE (LEN (@MainStr)>@NextPos)
BEGIN
SET @Pos=CHARINDEX(',',@MainStr)
SET @ResultStr=SUBSTRING(@MainStr,@NextPos,@Pos)
SET @NextPos+=@pos+1
SELECT @ResultStr
END
محمد سلیم آبادی
پنج شنبه 24 تیر 1389, 12:16 عصر
با سلیقه تر، شفافتر، ساده تر و set-based تر از این روش بعید می دونم پیدا کنید، کار وطنه! اینم لینکش:
http://www.30sharp.com/ShowArticle.aspx?nid=13&did=224&AuthorID=11
--TVF for Splitting the String
CREATE FUNCTION dbo.splitter (@S VARCHAR(MAX), @D CHAR(1)) RETURNS TABLE AS
RETURN (SELECT CASE WHEN CHARINDEX(@D, @S + @D, nbr) - nbr = 0 THEN ''
ELSE SUBSTRING(@S, nbr, CHARINDEX(@D, @S + @D, nbr) - nbr)
END AS Word, nbr
FROM Nums
WHERE nbr <= LEN(@S)
AND SUBSTRING(@D + @S, nbr, 1) =@D);
GO
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.